【问题标题】:How to merge PDF elements with Java如何将 PDF 元素与 Java 合并
【发布时间】:2019-02-07 14:58:38
【问题描述】:

我可以使用 PDFBox(或其他库)将两个 PDF 中的元素合并为最终 PDF 吗?

我不是在寻找页面连接,而是在合并页面元素:

【问题讨论】:

  • 请评论结束投票
  • 两个近距离投票都声称您的问题是题外话,因为它要求提供场外资源推荐。我假设选民将您的“PDFBox(或其他图书馆)”作为图书馆推荐的请求。
  • “将两个 PDF 中的元素合并到一个最终的 PDF” - 你到底是什么意思?从你的话中我会认为你的意思类似于PdfVeryDenseMergeTool for iText 所做的事情,参见。 this answer。另一方面,您的图像看起来更像 PDFBox Overlay 类和 OverlayPDF 工具所做的。
  • @mkl 覆盖就是答案。我遵循这个:snipplr.com/view/327056/pdfbox-overlaying-one-pdf-on-another

标签: java pdf java-8 pdfbox


【解决方案1】:

OP 的任务是将两个页面合并为一个,将每个对象保持在页面上的当前位置。

为此,PDFBox 提供了Overlay 类。给定两个PDDocument 实例document1document2,你可以简单地做

Overlay overlay = new Overlay();
overlay.setOverlayPosition(Overlay.Position.FOREGROUND);
overlay.setInputPDF(document1);
overlay.setAllPagesOverlayPDF(document2);

Map<Integer, String> ovmap = new HashMap<Integer, String>();            
overlay.overlay(ovmap);

document1.save("");

overlay.close();

将第二个覆盖在第一个文档上。

Overlay 可用于更复杂的叠加任务。特别是它还允许您将特定的 PDF 设置为仅覆盖奇数页、仅偶数页或仅显式指定的页面。

例如,查看 PDFBox 工具OverlayPDF 的源代码。


警告一句:只有额外文档的页面内容用于覆盖,所有类型的注释都被忽略了。也不要期望标签会被复制。

【讨论】:

    猜你喜欢
    • 2021-09-22
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    相关资源
    最近更新 更多