iText中的图像定位 - Java

Anu*_*san 5 java pdf image itext

我正在尝试阅读一个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();
Run Code Online (Sandbox Code Playgroud)

sor*_*end 7

试试这个:

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

Image image = Image.getInstance(String RESOURCE);
image.setAbsolutePosition(X, Y);
writer.getDirectContent().addImage(image);
Run Code Online (Sandbox Code Playgroud)

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


mkl*_*mkl 2

对于导入的页面,您应该使用 PdfStamper 而不是 PdfWriter。你的方法抛弃了所有交互式内容。你也可以在那里使用索里恶魔的想法。

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