使用PDFBox更改现有pdf的页面缩放

时间:2016-09-13 15:06:58

标签: java pdf pdfbox

我有一个pdf,我正在使用PDFBox进行迭代,如下所示:

PDDocument doc = PDDocument.load(new ByteArrayInputStream(bytearray));
PDDocumentCatalog catalog = doc.getDocumentCatalog();
for(PDPage page : catalog.getPages()){
    ...     
}

我想设置页面的默认放大率,以便在通过pdf阅读器打开时,默认情况下会以75%缩放打开。这可能吗?我看过很少使用PDPageXYZDestination设置缩放的帖子,但我不确定这是否适用于我的情况。

感谢。

1 个答案:

答案 0 :(得分:0)

这样做,它仅适用于第一个看到的页面,即打开时:

PDDocumentCatalog catalog = doc.getDocumentCatalog();
PDPage page = doc.getPage(0); // zero-based; you can also put another number to jump to a specific existing page
PDPageXYZDestination dest = new PDPageXYZDestination();
dest.setPage(page);
dest.setZoom(0.75f);
dest.setLeft((int) page.getCropBox().getLowerLeftX());
dest.setTop((int) page.getCropBox().getUpperRightY());
PDActionGoTo action = new PDActionGoTo();
action.setDestination(dest);
catalog.setActions(null);
catalog.setOpenAction(action);
doc.save(...);