gpt4 book ai didi

java - 如何使用 Apache PDFBox 将 .png 图像添加到 pdf

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:02:03 24 4
gpt4 key购买 nike

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

public void createPDFFromImage( String inputFile, String image, String outputFile ) 
throws IOException, COSVisitorException
{
// the document
PDDocument doc = null;
try
{
doc = PDDocument.load( inputFile );

//we will add the image to the first page.
PDPage page = (PDPage)doc.getDocumentCatalog().getAllPages().get( 0 );

PDXObjectImage ximage = null;
if( image.toLowerCase().endsWith( ".jpg" ) )
{
ximage = new PDJpeg(doc, new FileInputStream( image ) );
}
else if (image.toLowerCase().endsWith(".tif") || image.toLowerCase().endsWith(".tiff"))
{
ximage = new PDCcitt(doc, new RandomAccessFile(new File(image),"r"));
}
else
{
BufferedImage awtImage = ImageIO.read( new File( image ) );
ximage = new PDPixelMap(doc, awtImage);
// throw new IOException( "Image type not supported:" + image );
}
PDPageContentStream contentStream = new PDPageContentStream(doc, page, true, true);
contentStream.drawImage( ximage, 20, 20 );
contentStream.close();
doc.save( outputFile );
}
finally
{
if( doc != null )
{
doc.close();
}
}
}

最佳答案

有一个非常好的实用类 PDImageXObject从 java.io.File 加载图像。据我所知,它适用于 jpg 和 png 文件。

PDImageXObject pdImage = PDImageXObject.createFromFileByContent(imageFile, doc);
contentStream.drawImage(pdImage, 20f, 20f);

关于java - 如何使用 Apache PDFBox 将 .png 图像添加到 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22317706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com