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

如何将PDF元素与Java合并

沈宏朗
2023-03-14

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

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

共有1个答案

鲍国兴
2023-03-14

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

为此,PDFBox提供了覆盖类。给定两个PDDocument实例,您只需执行以下操作

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();

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

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

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

不过,提醒一句:只有额外文档的页面内容用于叠加,所有类型的注释都被忽略。也不要期望标签会被复制。

 类似资料:
  • 我在pyspark数据帧中有一个StringType()列和一个ArrayType(StringType())列。我想将StringType()列与ArrayType(StringType())列的每个元素合并 示例: 谢谢:)

  • 我希望有一个简单的方法来解决我有两个RDD 我怎么能做这样的事? 我想将贴图的键与集合的元素结合起来,所以我想更改集合的元素(将它们与贴图的键合并) 我想到 但我有一个错误 org.apache.spark.SparkExc0019:RDD转换和操作只能由驱动程序调用,不能在其他转换内部调用;例如,rdd1.map(x=

  • 我正在使用Google Sheets API的Python客户端构建电子表格。我可以创建一个新的工作表并更新其中的值,但无法合并所需标题行的单元格。 这是我正在运行的代码。没有错误。响应的回复是空的,电子表格没有合并的单元格。留档在这里。

  • 我正在尝试使用Java实现快速排序算法。我创建了我的配分函数,如下所示: 是我的轴,是数组的最后一个元素,start\u标记是轴后的第一个元素 第一个同时循环从开始循环到结束,寻找比支点大的下一个数字。当找到时,第二个循环从数组的末端开始,朝着开始寻找小于枢轴的下一个数字。如果满足这两个条件,就会发生交换。但是,如果这两个循环索引(starindex和endindex)相遇,则会退出而循环。 样本

  • 问题内容: 能够将常规元素临时转换为会非常有用。例如,假设我有一个想要翻转的样式。我想动态创建画布,将其“渲染” 到画布中,隐藏原始元素并为画布设置动画。 能做到吗 问题答案: 抱歉,浏览器无法将HTML渲染到画布中。 如果可能的话,这将带来潜在的安全风险,因为HTML可以包含来自第三方站点的内容(尤其是图像和iframe)。如果可以将HTML内容转换为图像,然后读取图像数据,则有可能从其他站点提

  • 我正在删除一个网络应用程序,我需要找到一个特定的元素,但我不能用我的xpath找到它。这是我试图找到元素的HTML代码 我成功地找到了它,但是当我注意到id是自动生成的时,我陷入了困境。我试图解决这个问题,找到包含文字“名字”的标签,然后找到兄弟姐妹,但什么都没有。这是我的xpath: