从PDFBOX src下载中获取PrintImageLocations.java文件。这是来源的一个例外,只有最后一行是我写的,它将输出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());
Run Code Online (Sandbox Code Playgroud)
这是一个示例输出:
找到图片[X0]
位置= 0.0,0.0
大小= 2544px,3523px <----像素
尺寸= 610.56pu,845.52pu <----“页面单位”,1pu = 1/72英寸
尺寸= 8.48英寸,11.743334英寸
尺寸= 215.39198mm,298.28067mm
dpi = 300 dpi(X),300 dpi(Y)