直接将java.awt.Image添加到itext

直接将java.awt.Image添加到itext,java,image,itext,Java,Image,Itext,我想知道您是否可以直接将java.awt.Image添加到itext;到目前为止,我看到的所有对这个问题的回答都建议将映像写入磁盘 ImageIO.write(img, "png", "output.png); 然后使用com.itextpdf.text.Image方法Image.getInstance() 此解决方案可行,但并不十分优雅。有没有更好的方法呢?如果您查看iText,您会发现除了文件名之外,还有很多其他方法可以使用图像: 静态映像getInstance(字节[]imgb)

我想知道您是否可以直接将java.awt.Image添加到itext;到目前为止,我看到的所有对这个问题的回答都建议将映像写入磁盘

   ImageIO.write(img, "png", "output.png);
然后使用com.itextpdf.text.Image方法
Image.getInstance()

此解决方案可行,但并不十分优雅。有没有更好的方法呢?

如果您查看iText,您会发现除了文件名之外,还有很多其他方法可以使用图像:

  • 静态映像getInstance(字节[]imgb)
  • 静态图像getInstance(byte[]imgb,boolean recoverFromImageError)
    获取图像的实例
  • 静态图像getInstance(图像图像)
    获取图像的实例
  • 静态图像getInstance(图像图像,颜色)
    java.awt.Image
    获取
    图像的实例
  • static Image getInstance(Image-Image,Color-Color,boolean-forceBW)
    java.awt.Image
    获取
    图像的实例
  • static Image getInstance(int-width、int-height、boolean reverseBits、int-typeCCITT、int-parameters、byte[]数据)
    使用CCITT G3或G4压缩创建
    图像
  • static Image getInstance(int-width、int-height、boolean reverseBits、int-typeCCITT、int-parameters、byte[]数据、int[]透明度)
    使用CCITT G3或G4压缩创建一个
    图像
  • 静态图像getInstance(int-width、int-height、byte[]数据、byte[]全局值)
    创建JBIG2
    图像
  • 静态图像getInstance(int-width、int-height、int-components、int-bpc、byte[]data)
    获取原始模式下的
    图像的实例
  • 静态图像getInstance(int-width、int-height、int-components、int-bpc、byte[]数据、int[]透明度)
    获取原始模式下的
    图像的实例
  • static Image getInstance(PdfContentByte cb,Image awtImage,float quality)
    java.awt.Image
    获取
    图像的实例
  • 静态图像getInstance(PdfTemplate模板)
    获取图像的实例
  • static Image getInstance(PdfWriter writer,Image awtImage,float quality)
    java.awt.Image
    获取
    图像的实例
  • 静态映像getInstance(PRIndirectReference ref)
    重用现有映像
  • 静态图像getInstance(字符串文件名)
    获取图像的实例
  • 静态图像getInstance(字符串文件名,布尔值recoverFromImageError)
  • 静态图像getInstance(URL)
  • 静态图像getInstance(URL URL,boolean recoverFromImageError)
    获取图像的实例
您可以在官方网站上找到如何使用
java.awt.Image
的示例。请参见示例:


答案如下。简单的回答是:您是否尝试过IDE提供的自动完成建议?可能不会,因为你不必问。谢谢布鲁诺整理了我的答案。(我猜):DI经常会遇到同样的问题:如果你需要复制链接和代码片段,那么在电话上接听并不容易。
   Image iTextImage = Image.getInstance("output.png");
// Adding a java.awt.Image
java.awt.Image awtImage =
    Toolkit.getDefaultToolkit().createImage(RESOURCE);
img = com.itextpdf.text.Image.getInstance(awtImage, null);
document.add(new Paragraph(
    String.format("%s is an image of type %s",
    "java.awt.Image", img.getClass().getName())));
document.add(img);