iText中的图像定位 – Java

我正在尝试阅读一个PDF并将其数据复制到另一个PDF中。 第一个PDF包含一些文本和图像,我希望在第二个PDF中准确地写出文本结束的位置(这基本上是PDF文件的结尾)。 现在它只是打印在顶部。 我怎样才能做出这个改变?

PdfReader reader = null; reader = new PdfReader(Var.input); Document document=new Document(); PdfWriter writer = null; writer = PdfWriter.getInstance(document,new FileOutputStream(Var.output)); PdfImportedPage page = writer.getImportedPage(reader, 1); reader.close(); document.open(); PdfContentByte cb = writer.getDirectContent(); // Copy first page of existing PDF into output PDF document.newPage(); cb.addTemplate(page, 0, 0); // Add your new data / text here Image image = null; image = Image.getInstance (Var.qr); document.add(image); document.close(); 

您应该使用PdfStamper而不是PdfWriter导入页面。 您的方法会抛弃所有交互式内容。 你也可以在那里使用sorifiend的想法。

要确定给定页面上文本的结束位置,请查看动作中的iText,第2版示例ShowTextMargins ,它解析PDF并广告显示文本边距的矩形。

尝试这个:

首先获取图像需要去的位置/位置,然后简单地将下面的第二行添加到代码中,以便将图像插入“X,Y”位置

 Image image = Image.getInstance(String RESOURCE); image.setAbsolutePosition(X, Y); writer.getDirectContent().addImage(image); 

看看这里的工作示例: http : //itextpdf.com/examples/iia.php?id = 70