【问题标题】:PDFBOX JPG image is working but PNG not workingPDFBOX JPG 图像工作,但 PNG 不工作
【发布时间】:2014-11-28 08:54:34
【问题描述】:

我使用以下代码将图像打印成“PDF”:

InputStream in = new FileInputStream(new File("C:/"+imageName));
PDJpeg img = new PDJpeg(doc, in);
contentStream.drawXObject(img, 20, pageYaxis-120, 80, 80);

在这里,当 imagName="a.jpg" 工作正常时,如果 imagName="b.png" 它不工作。在 jpg 图像中它可以工作,但在 png 中它不是。为什么会这样?请帮我。我怎样才能打印两种格式,我的意思是依赖格式?

【问题讨论】:

  • 所以基本上,您尝试使用函数PDJpeg 处理PNG 图像?
  • @Jongware 是的,伙计,我需要做些改变才能让它也接受 PNG??

标签: java image png pdfbox


【解决方案1】:

在 Apache PDFBox 1.8 中,对 PNG 图像使用 PDPixelMap:

BufferedImage awtImage = ImageIO.read(new File(image));
ximage = new PDPixelMap(doc, awtImage);

在 PDFBox 的源代码中,参见ImageToPDF.java 示例。这适用于所有可以使用 ImageIO 读取的文件。但是,继续使用 PDJpeg 处理 JPG 图像仍然很有用,因为 JPEG 文件直接放入 PDF 文件中,而无需转换为无损格式。

【讨论】:

  • 您按下了绿色符号并写下它不起作用?什么不工作?
  • 这是否与无法将PDF转换为PNG的问题有关?
【解决方案2】:
Bitmap alphaImage = BitmapFactory.decodeStream(in);
PDImageXObject alphaXimage = LosslessFactory.createFromImage(document, alphaImage);

【讨论】:

  • 我怀疑您的答案是针对 Android 的。您应该提及并提及哪个版本。
猜你喜欢
  • 1970-01-01
  • 2019-10-26
  • 1970-01-01
  • 2022-01-17
  • 2022-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-25
相关资源
最近更新 更多