java - 如何使用 IText 在 PDF 页面中间插入内容

标签 java pdf itext tiling

我需要将内容插入 PDF 页面的中间。

内容可以是动态表格或图像。

我的想法是首先将 PDF 分成两部分,然后通过替换占位符字段来获取要添加和追加的新内容。


根据 IText,拆分称为平铺,这里有一个相同的示例。 http://itextpdf.com/examples/iia.php?id=116

上面的代码有两个缺点: 1.它将页面分成16部分。但这是示例的一部分。我仍然无法找到将文件分成两部分的方法。 2. 其次,将分页转换为完整页面,从而扰乱了其比例。


重新排列代码是另一个问题。

剩余内容应以附加模式重新排序。但到目前为止,我只找到了添加完整新页面而不仅仅是内容的代码。

我找到了一个通过替换占位符来附加 PDF 内容的代码:

float[] fieldPosition= pdfTemplate.getAcroFields().getFieldPositions("tableField");
PdfPTable table = buildTable();
PdfContentByte cb = stamper.getOverContent(1);
table.writeSelectedRows(0, -1, fieldPosition[1],fieldPosition[4],cb);

请帮我解决这个需求。

最佳答案

PDF 是一种演示格式,而不是版本格式。换句话说,它的设计目的不是允许内容插入,而原始内容可以优雅地回流。因此,没有任何工具(至少据我所知没有,iText 也没有)可以让您实现所要求的目标。

我的建议:

  • 拒绝分配,因为它不可行,或者
  • 获取原始文档,插入所需的额外内容,然后然后转换为 PDF。

关于java - 如何使用 IText 在 PDF 页面中间插入内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12073135/

相关文章:

java.lang.OutOfMemoryError - 有什么方法可以在不增加内存的情况下解决这个问题吗?

java - JTable 列调整大小不起作用

java - 从 InputStream 读取时出现 SocketException 错误文件描述符

java - PDF 单元格垂直对齐与 com.lowagie.text

c# - 多个页面上的 ItextSharp 嵌套表导致 NullReferenceException

java - Android 使用 MediaProjectionManager 截屏,OnImageAvailable 无法启动

以 pdf 格式输出所选 mysql 数据的 php 代码

delphi - 将 OpenOffice Calc 文件导出为 PDF 时如何尊重打印区域?

pdf - 如何将多个带有链接的 Markdown 文档转换为一个 pdf?

c# - 使用 itextsharp 重新排序 pdf 文件中的页面