我正在尝试使用Apache PDFBox库将PDF页面转换为BufferedImage
个实例。为什么以下代码不起作用?
try {
PDDocument doc = PDDocument.load(pdfFile); // pdfFile is file path to pdf
List<PDPage> pgeLst = document.getDocumentCatalog().getAllPages();
for(PDPage pge : pgeLst) {
final PDRectangle mediaBox = pge.getMediaBox();
mediaBox.setUpperRightX(mediaBox.getUpperRightX() * scale);
mediaBox.setUpperRightY(mediaBox.getUpperRightY() * scale);
BufferedImage img = page.convertToImage(); // Image should now be scaled,
// but isn't.
}
} catch(Exception e) { e.printStackTrace(); }
虽然我搜索了网络和JavaDoc并且找不到任何解决方案,但解决方案可能非常简单。
我正在使用PDFBox版本1.8.8,正好是pdfbox-app-1.8.8.jar
。
谢谢Tilman Hausherr指出:)
提前致谢:)
答案 0 :(得分:0)
使用
BufferedImage img = page.convertToImage(BufferedImage.TYPE_INT_RGB, 300);
在PDFBox 1.8。*中,这将以300dpi呈现。默认(您使用的)是144dpi。因此,根据您的需要,使用大于或小于144的dpi参数。