将多个PDF合并在一起,并使用ApachePDFBox创建新的PDF/A

将多个PDF合并在一起,并使用ApachePDFBox创建新的PDF/A,pdf,pdfbox,Pdf,Pdfbox,我正在使用ApachePDFBox预设几个非PDF/A表单,并使用PDFMergerUtility将这些PDF合并在一起,创建新PDF的字节数组 PDFMergerUtility mergerUtility=新的PDFMergerUtility(); //为便于阅读,省略了这些PDF的预设形式 addSource(新文件(“a.pdf”); addSource(新文件(“b.pdf”); addSource(新文件(“c.pdf”); ByteArrayOutputStream outputS

我正在使用ApachePDFBox预设几个非PDF/A表单,并使用
PDFMergerUtility
将这些PDF合并在一起,创建新PDF的字节数组


PDFMergerUtility mergerUtility=新的PDFMergerUtility();
//为便于阅读,省略了这些PDF的预设形式
addSource(新文件(“a.pdf”);
addSource(新文件(“b.pdf”);
addSource(新文件(“c.pdf”);
ByteArrayOutputStream outputStream=新建ByteArrayOutputStream();
可合并性。setDestinationStream(outputStream);
试试{
mergerUtility.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
返回outputStream.toByteArray();
}捕获(IOEX异常){
日志错误(“无法合并文档”,例如);
抛出新的RuntimeException(“无法合并”,ex);
}

有没有办法告诉
PDFMergerUtility
创建一个有效的PDF/一个不能再修改的文档?

将现有的PDF“从野生”转换为兼容的是一个非常复杂的主题,除非您自己创建。我建议你使用其他公司的产品


(PDFBox有一个命令行工具(飞行前)来检查您的PDF是否符合PDF/a-1b。这可以让您了解“普通”PDF中的所有缺点)

源文件是PDF/a吗?不,不是。这与合并无关。将PDF转换为PDF/a是一个非常复杂的主题,除非是您自己创建的。我建议您使用Callas或PDF Tools或其他公司的产品。如果您添加此作为答案,我将接受它。谢谢你的澄清