将图像输入流转换为pdf输入流 - Java

时间:2015-03-18 12:54:42

标签: java

如何将包含图像的输入流转换为输入流,并将该图像转换为PDF格式?

通过以下方式使用MTOM(WS-project)接收Inputstream:

documentIdentification.getFile().getInputStream()

1 个答案:

答案 0 :(得分:2)

  

有些想法可能有用而不是所有评论.. :)

冒着明显的风险,分步进行。例如......

  1. 使用avax.imageio.ImageIO创建java.awt.image.BufferedImage

  2. 将其包裹为com.itextpdf.text.Image

  3. 将其嵌入com.itextpdf.text.PdfDocument

  4. 使用com.itextpdf.text.DocumentWritercom.itextpdf.text.PdfDocument写入java.io.ByteArrayOutputStream

  5. 获取byte[]并将其包装在java.io.ByteArrayInputStream


  6. 理论上可以在不缓冲内存中的映像的情况下进行转换,但现有的API不支持此操作。 (你可以用Java编写 lot 编码。最好是寻找一个独立的图像到pdf转换实用程序。)

    您应该能够使用byte[] / PipedOutputStream对来避开中间PipedInputStream缓冲区。