我需要将内容插入 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/