PDFBox サンプルプログラム
目次
PDFから解像度を取得する
try {
//PDFドキュメントをロード
PDDocument document = PDDocument.load("hogehoge.pdf");
//ページのリストから最初の1ページを取得する
PDPage page = (PDPage) document.getDocumentCatalog().getAllPages().get(0);
//ページからリソースを取得し、全てのイメージを取得する。
PDResources resources = page.getResources();
Map images = resources.getImages();
if (images != null) {
Iterator imageIter = images.entrySet().iterator();
while (imageIter.hasNext()) {
String key = (String) imageIter.next();
PDXObjectImage image = (PDXObjectImage) images.get(key);
PDRectangle cropBox = page.findCropBox();
if (cropBox != null) {
//dpiの算出(pdfのデフォルトdpiは72)
int dpi = Math.round(image.getHeight() * 72 / cropBox.getHeight());
//dpi
System.out.println("dpi:" + dpi);
}
}
}
document.close();
} catch (IOException e) {
e.printStackTrace();
}