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

时间:2012-08-22 12:27:13

标签: java pdf itext tiling

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

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

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


根据IText将Splitting称为Tiling,这是一个相同的示例。 http://itextpdf.com/examples/iia.php?id=116

上述代码有两个缺点:  它将页面分为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);

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:2)

PDF是一种演示格式,而不是一种编辑格式。换句话说,它不是为了允许内容插入而设计的,原始内容优雅地回流。因此,没有工具(至少,我所知道的,肯定不是iText)将使您能够实现您的要求。

我的建议:

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