如何使用iText在现有pdf文件的末尾添加图像

时间:2017-06-29 18:42:56

标签: java image position itext pdfstamper

我有一个现有的pdf文件,我正在阅读pdfreader并使用pdfstamper将一些图像和文本添加到临时pdf文件中。我面临的问题是图像被添加到内容字节中,但其中一些是不可见的,其中一些相互重叠,因为我的场景是在某个点之后将屏幕截图添加到此pdf文件中在运行我的selenium webdriver时失败了。)我尝试过设置不同的位置,但没有任何工作完美。我需要优先解决这个问题。请建议我每次需要添加时,如何在现有pdf底部添加图像。

PdfReader pdfReader = new PdfReader(sScreenShotFileName);
PdfStamper pdfStamper = new PdfStamper(pdfReader,new 
FileOutputStream(tempfile));
PdfContentByte content = pdfStamper.getUnderContent(i);
Font f = new Font();
f.setStyle(Font.BOLD);
f.setSize(8);
ColumnText ct = new ColumnText( content );
ct.setText(new Phrase(new SimpleDateFormat("MM-dd-YYYY HH:mm:ss").format(new Date()),f));
ct.go();          
File src= ((TakesScreenshot)oDriver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(src, new 
File(sSVNfolderPath+"\\Log_Files\\Snapshots\\Test.jpg"));
FileInputStream pic = new 
FileInputStream(sSVNfolderPath+"\\Log_Files\\Snapshots\\Test.jpg");
InputStream is = new BufferedInputStream(pic);
java.awt.Image image = ImageIO.read(is);
Image img = Image.getInstance(image,null);
img.scalePercent(x);
img.setAbsolutePosition(x, y);
content.addImage(img);
pdfStamper.close();
pdfReader.close();
new File(sScreenShotFileName).delete();
new File(tempfile).renameTo(new File(sScreenShotFileName));
y=y*2;//setting y position to upward every time where the new image can be placed.

谢谢, 米纳尔

0 个答案:

没有答案