当前位置: 首页 > 知识库问答 >
问题:

在pdfStamper上使用itext 5.5.6和FullCompression将图像添加到pdf时出错

宗政海
2023-03-14

上周,我们从itext 5.3.6升级到5.5.6,在测试过程中,我们发现在启用完全压缩的现有pdf上添加图像存在问题。请参见下一个代码示例:

  try {

    byte[] imageByte = IOUtils.toByteArray(new FileInputStream("imageToStamp.png"));
    InputStream input = new FileInputStream("originalFile.pdf");
    byte[] inputBytes = IOUtils.toByteArray(input);
    OutputStream output = new FileOutputStream("originalFileStamped.pdf");
    PdfReader pdfReader = new PdfReader(new ByteArrayInputStream(inputBytes));
    PdfStamper pdfStamper = new PdfStamper(pdfReader,output);
  Image image = Image.getInstance(imageByte);
  for(int i=1; i<= pdfReader.getNumberOfPages(); i++){
      PdfContentByte content = pdfStamper.getUnderContent(i);
      image.setAbsolutePosition(100f, 700f);
      content.addImage(image);
  }
  //Full Compresión breaks the final pdf , if you comment that line the final PDF will had the images.
  pdfStamper.setFullCompression();
  pdfStamper.close();
} catch (IOException e) {
  e.printStackTrace();
} catch (DocumentException e) {
  e.printStackTrace();
}

共有1个答案

冉俊德
2023-03-14

将这一行向上移动:

PdfStamper.setFullCompression();

确保在创建PDFStamper实例后立即使用此方法,问题就会解决。

 类似资料:
  • 我正在使用iText生成Pdf。但当我试图在pdf中添加图像时, 我mage.get实例(新的URL(timetableResource.getImageUrl()));document.add(学校标志); 但我得到的错误是 HTTP状态500-服务器为URL返回了HTTP响应代码400:http://139.59.72.150:8080/sms/attachments/23/42/school

  • 我试图使用itext7将图像添加到我的pdf文档中,但我得到了DirectoryNotFoundExctive。我使用的是itextSharp,但itext7的情况并非如此,StackOverflow的一些类似问题向我展示了它是如何完成的,但它不会读取资产文件夹中的文件。这是我的代码: 当我使用按钮点击事件运行此代码时,它会抛出以下错误:

  • 当我试图使用pdfBox绘制png图像时,页面保持空白。有什么方法可以使用PDFBOX插入png图像吗?

  • 我使用的代码是:https://www.tutorialspoint.com/pdfbox/pdfbox_inserting_image.htm 帮助我将图像添加到现有PDF。问题是它创建的文件是一个空白页,上面只有图像。 这是我的代码: 据我所知,我所做的应该是有效的,我没有任何错误,那么是什么造成的呢?

  • 问题内容: 我正在使用网络上的标准示例(http://www.20seven.org/journal/2008/11/pdf-generation-with-pisa-in-django.html)将django视图/模板转换为PDF。 是否有一种“简便”的方式将图像(来自URL或服务器上的引用)包括在模板中,以便它们显示在PDF上? 问题答案: 我得到了图像。代码如下:

  • 我已经设法使用Apache的Javafx和PDFbox将文本放入pdf文件中。现在,我正在尝试将拍摄场景屏幕截图的图像放入pdf文档中。 当我使用InputStream和OutputStream类时,会创建文档,但当我打开文档时,Adobe和其他程序会给我一个错误,说Acrobat无法正确显示页面。当我使用上面代码中注释掉的BuffereImage类时,文档很简单,没有创建,我不知道为什么。 笔记