Fitting image into PDF using ITEXT

29,620

Solution 1

Solved for me:

//if you would have a chapter indentation
int indentation = 0;
//whatever
Image image = coolPic;

float scaler = ((document.getPageSize().getWidth() - document.leftMargin()
               - document.rightMargin() - indentation) / image.getWidth()) * 100;

image.scalePercent(scaler);

from @Franz Ebner

iText Image Resize

Solution 2

I know it's an old question, but I was looking for it myself and I've found:

Image image = ...;
image.scaleToFit(PageSize.A4.getWidth(), PageSize.A4.getHeight());

found it useful enough to share here.

Share:
29,620
user2582318
Author by

user2582318

Updated on July 23, 2022

Comments

  • user2582318
    user2582318 almost 2 years

    Hi im having some problems to add the image into the PDF using the itextPDF...

    i have more than 10.000 images scanned from original paper in past years, and different sizes/pixels

    when i add image into pdf using

    img.scaleAbsolute(823,640) or img.scaleToFit(823,640)

    doesnt change the result of each image, for example this ones:

    First One 654 is the correct one that fit perfectly in the pdf PAGE, the original tiff image has (2048 x 2929)

    here image -> enter image description here

    here is the second one 9436 that original tiff image has (1470 x 2057)

    enter image description here

    look the MARGIN of the pdf in the first and in the second one...

    there is a way to make EVERY image like the 654, no matter the original size??

    thanks, aprreciate any idea, or i will have to open all the image in paint and edit it :(

  • abh22ishek
    abh22ishek over 8 years
    but the image whatever it comes ,it is getting compressed.how to scale the image properly ,so it should appear proper
  • Ahmet Kocaman
    Ahmet Kocaman over 7 years
    Thanks a great solution :)
  • Chandler Bing
    Chandler Bing almost 7 years
    Thanks for saving me in 2017.
  • Carrm
    Carrm over 5 years
    If you use margins, you have to substract them from the page width/height otherwise the image will be cut. You can get them from the document (see the validated answer).