Получите файл PrintImageLocations.java из загрузки PDFBOX src. Вот исключение источника, только последняя строка от меня, и она выведет dpi:
float imageXScale = ctmNew.getXScale();
float imageYScale = ctmNew.getYScale();
System.out.println("position = " + ctmNew.getXPosition() + ", " + ctmNew.getYPosition());
// size in pixel
System.out.println("size = " + imageWidth + "px, " + imageHeight + "px");
// size in page units
System.out.println("size = " + imageXScale + "pu, " + imageYScale + "pu");
// size in inches
imageXScale /= 72;
imageYScale /= 72;
System.out.println("size = " + imageXScale + "in, " + imageYScale + "in");
// size in millimeter
imageXScale *= 25.4;
imageYScale *= 25.4;
System.out.println("size = " + imageXScale + "mm, " + imageYScale + "mm");
System.out.printf("dpi = %.0f dpi (X), %.0f dpi (Y) %n", image.getWidth() * 72 / ctmNew.getXScale(), image.getHeight() * 72 / ctmNew.getYScale());
А вот пример вывода:
Найдено изображение [X0]
позиция = 0,0, 0,0
размер = 2544 пикселя, 3523 пикселя <---- пикселей </p>
размер = 610,56pu, 845,52pu <---- "единицы измерения страницы", 1pu = 1/72 дюйма </p>
размер = 8,48 дюйма, 11,743334 дюйма
размер = 215,39198 мм, 298,28067 мм
точек на дюйм = 300 точек на дюйм (X), 300 точек на дюйм (Y)