【问题标题】:Merge several PDF together and create new PDF/A with Apache PdfBox将多个 PDF 合并在一起并使用 Apache PdfBox 创建新的 PDF/A
【发布时间】:2019-08-15 11:10:31
【问题描述】:

我正在使用 Apache PdfBox 预设几个非 PDF/A 表单并使用 PDFMergerUtility 将这些 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);
}

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

【问题讨论】:

  • 源文件是PDF/A吗?
  • 不,他们不是
  • 那么这个和merge无关。除非您自己创建,否则将 PDF 转换为 PDF/A 是一个非常复杂的主题。我宁愿建议您使用 Callas 或 PDF-Tools 或其他公司的产品。
  • 如果您将此添加为答案,我将接受它。谢谢你的澄清

标签: pdf pdfbox


【解决方案1】:

将现有的 PDF“从野外”转换为合规的 PDF/A 是一个非常复杂的主题,除非您自己创建它。我更建议您使用CallasPDF-Tools 或其他公司的产品。

(PDFBox 有一个命令行工具(预检)来检查您的 PDF 是否符合 PDF/A-1b。这可以让您体验“普通” PDF 的所有缺点)

【讨论】:

    猜你喜欢
    • 2012-11-28
    • 2017-01-10
    • 2013-03-03
    • 2016-12-22
    • 2016-10-02
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    相关资源
    最近更新 更多