使用PDFBox缩放PDF页面

时间:2014-12-13 15:37:30

标签: java pdfbox

我正在尝试使用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指出:)

提前致谢:)

1 个答案:

答案 0 :(得分:0)

使用

BufferedImage img = page.convertToImage(BufferedImage.TYPE_INT_RGB, 300);

在PDFBox 1.8。*中,这将以300dpi呈现。默认(您使用的)是144dpi。因此,根据您的需要,使用大于或小于144的dpi参数。