我有一个现有的 pdf 文件,我正在使用 pdfreader 阅读并使用 pdfstamper 将一些图像和文本添加到临时 pdf 文件中。我面临的问题是图像被添加到 contentbyte 但其中一些不可见,其中一些相互重叠,因为我的场景是在某个点之后将屏幕截图添加到这个 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.
谢谢, 梅纳尔