How to get the image DPI in PDF?
I'm trying to get information about scanned images that are saved into PDF files through iText (using Java). I can get width and height (either through Matrix
, or through BufferedImage
). The idea was to use the answer here to calculate the DPI, but I am a bit lost. Are these values (width and height) in pixels or points? Is there any other way to achieve this? There are a lot of answers on how to scale and save an image to a PDF file, but I didn't find any on how to read the width/height/scale of an image and be confident about the result.
Posted on StackOverflow on Aug 28, 2014 by Finik
Let's split this problem into two separate problems. To calculate the DPI, you need two sets of values: a number of pixels and a distance in inch.
- Number of pixels: you obtain the image and the image consists of pixels. You can retrieve the width and height of the image in pixels from the image. Let's say these values are
wPx
andwPx
. - Distance in inch: you obtain the matrix which gives you values expressed in points. As 72 points equal 1 inch, you need to divide these values by 72. Let's say these values are
wInch
andhInch
.
Now you can calculate the DPI in the x direction like this: wPx / wInch
and the DPI in the y direction like this: hPx / hInch
.