当前位置: 首页 > 知识库问答 >
问题:

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

公冶同
2023-03-14

我正在使用Apache PdfBox来预设几个非PDF/A表单,并使用PDFMerger实用程序将这些PDF合并在一起,并创建新PDF的字节数组。


PDFMergerUtility mergerUtility = new PDFMergerUtility();

// presetting forms of these PDFs is omitted for readability
mergerUtility.addSource(new File("a.pdf"));
mergerUtility.addSource(new File("b.pdf"));
mergerUtility.addSource(new File("c.pdf"));

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
mergerUtility.setDestinationStream(outputStream);

try {    
  mergerUtility.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
  return outputStream.toByteArray();
} catch (IOException ex) {
  log.error("Unable to merge documents", ex);
  throw new RuntimeException("Unable to merge", ex);
}

是否有一种方法可以告诉PDFMerger实用程序创建一个不能再修改的有效PDF/A文档?

共有1个答案

公冶高义
2023-03-14

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

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

 类似资料:
  • 这就是我想做的: > 使用pdfbox制作2个不同的pdf文件 使用pdfmerger将这两个文件合并在一起 如果要将#1保存到服务器端本地硬盘并加载#2的文件,我知道如何执行此操作。但我想做的是使用“直接从内存”。我已经搜索了这个pdfboxes中的所有方法,但仍然找不到它。 这是我从本地文件获取的代码 谢谢你。

  • 问题内容: 如何将多个PDF文件合并/转换为一个大PDF文件? 我尝试了以下操作,但是目标文件的内容不符合预期: 我需要一个非常简单/基本的命令行(CLI)解决方案。最好的办法是,如果我可以将合并/转换的输出直接传送到管道中(就像我之前在这里提出的问题中最初尝试的那样:Linux管道(convert->pdf2ps-> lp)。 问题答案: 抱歉,我设法使用Google自己找到了答案,还有些运气:

  • 在这里,我想合并两个单独的A4 PDF到A3 PDF。A4 PDF页面应适合并排查看的A3 2-ups。 我现在还没有尝试过任何代码,但在我想知道这是否可能之前? 注意:A4 PDF可以有“N”个页数,而不是单页PDF。 以下是图形图像示例:

  • 我必须将多个PDF合并为一个PDF。 我正在使用iText。sharp库和collect转换了代码并尝试使用它(从这里)实际的代码是C#,我将其转换为VB.NET。 我现在收到以下错误: 已添加具有相同密钥的项目。 我做了一些调试,并将问题归结为以下几行: 为什么会出现这种错误?

  • 我正在尝试创建Java程序,它可以读取多个pdf文件,并将它们合并成一个单一的pdf文件。然后打印PDF,但在打印时,我需要将多个PDF页面合并在一个页面中并打印。即使它是一个新的pdf创建,那对我来说是好的。我需要一些开源的Java pdf操纵库来处理这个。我知道一个解决方案是在打印时,选择多个打印选项,将多页打印到一张纸上。但我可以访问的打印机没有这样的功能。有谁能为这个问题提出一些解决方案,

  • 在上一章中,我们已经了解了如何合并多个PDF文档。 在本章中,我们将了解如何从PDF文档的页面中提取图像。 从PDF文档生成图像 PDFBox库为您提供了一个名为PDFRenderer的类, PDFRenderer PDF文档呈现为AWT BufferedImage。 以下是从PDF文档生成图像的步骤。 第1步:加载现有PDF文档 使用PDDocument类的静态方法load()加载现有PDF文档