我正在合并多个PDF与PDFBox的PDFMergerUgic
。
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)中,页码显示不正确。对于exmaple,如果我合并三个文档,每个文档有三页,则生成的页码为:
1
2
3
1
2
3
1
2
3
而不是
1
2
3
4
5
6
7
8
9
受影响的查看者似乎是从PDF中的某些元数据中提取页码信息,而不是自己计算。
有没有办法用PDFBox解决这个问题?
多亏了Codo,我最终得到了以下解决方案:
PDPageLabels pageLabels = new PDPageLabels(result);
PDPageLabelRange pageLabelRange = new PDPageLabelRange();
pageLabelRange.setStyle(PDPageLabelRange.STYLE_DECIMAL);
pageLabelRange.setStart(1);
pageLabels.setLabelItem(0, pageLabelRange);
result.getDocumentCatalog().setPageLabels(pageLabels);
以下是创建页面标签的更多示例:https://simplesolution.dev/creating-pdf-document-page-labels-in-java-with-apache-pdfbox/
这就是我想做的: > 使用pdfbox制作2个不同的pdf文件 使用pdfmerger将这两个文件合并在一起 如果要将#1保存到服务器端本地硬盘并加载#2的文件,我知道如何执行此操作。但我想做的是使用“直接从内存”。我已经搜索了这个pdfboxes中的所有方法,但仍然找不到它。 这是我从本地文件获取的代码 谢谢你。
PDF内容流 表示pdf使用F1字体,设置fontsize 40.959999。 我有一个关于实际字体大小是否为40.959999的问题。因为字体大小40太大了,但是在adobe arcrobat pro中显示的文本没有那么大。 在此pdf中没有意义
是否可以使用PDFBox(或其他库)将两个PDF中的元素合并为最终PDF? 我不是在寻找页面连接,而是在合并页面元素:
我有一个pdf,里面总共有6页的图片。我想将第1页和第2页合并为单个pdf,以此类推,共3到6页。 我将所有6页的pdf拆分为单独的pdf。 从PyPDF2导入操作系统导入PdfFileReader、PdfFileWriter pdf_splitter: fname=os.path.splitext(os.path.basename(path))[0] if name=='main': path=
我正在使用Apache PdfBox来预设几个非PDF/A表单,并使用将这些PDF合并在一起,并创建新PDF的字节数组。 是否有一种方法可以告诉创建一个不能再修改的有效PDF/A文档?
主要内容:合并多个PDF文档,示例在前一章中,我们已经看到如何将给定的PDF文档分成多个文档。 现在让我们学习如何将多个PDF文档合并为一个文档。 合并多个PDF文档 使用类的类将多个PDF文档合并到单个PDF文档中,该类提供了将两个或多个PDF文档合并到单个PDF文档中的方法。 以下是合并多个PDF文档的步骤。 第1步:加载现有的PDF文档 使用类的静态方法加载现有的PDF文档。 此方法接受一个文件对象作为参数,因为这是一个静态