【发布时间】:2022-01-06 12:39:57
【问题描述】:
我正在将多个 PDF 与 PDFBox 的PDFMergerUtility 合并。
try (PDDocument result = new PDDocument()) {
result.setVersion(1.5f);
PDFMergerUtility merger = new PDFMergerUtility();
for (PrintableDocument pd : ivDocuments) {
if (pd.getData() == null)
continue;
try (PDDocument pdd = PDDocument.load(pd.getData())) {
merger.appendDocument(result, pdd);
}
}
result.save(os);
}
这很好用,除了一个细节。在某些 PDF 查看器(Firefox、SumatraPDF、Chrome)中,页码显示不正确。例如,如果我将三个文档合并为三个页面,则生成的页码为:
1
2
3
1
2
3
1
2
3
而不是
1
2
3
4
5
6
7
8
9
受影响的查看者似乎是从 PDF 中的某些元数据中提取页码信息,而不是自己计算。
有没有办法用 PDFBox 解决这个问题?
【问题讨论】:
-
是的。重新编号必须在单独的步骤中完成(或者只是删除页面标签(这些都是可选的))
-
谢谢,我不知道这些叫做页面标签。