我已经使用 PDFBox 将 png 图像转换为 pdf 文档,并且我能够成功地做到这一点。
但是我遇到了一个问题,其中 pdf 文档仅显示图像的 50% 宽度(高度显示为完整)。请帮我解决这个问题。
我正在使用的代码如下:
public static void createPDFFromImage( String file, String image) throws IOException, COSVisitorException
{
PDDocument doc = null;
try
{
doc = new PDDocument();
PDPage page = new PDPage();
doc.addPage( page );
PDXObjectImage ximage = null;
if( image.toLowerCase().endsWith( ".jpg" ) || image.toLowerCase().endsWith( ".jpeg" ))
{
BufferedImage awtImage = ImageIO.read( new File( image ) );
ximage = new PDJpeg(doc, awtImage, 0 );
}
else
{
BufferedImage awtImage = new BufferedImage(250,250, BufferedImage.TYPE_INT_RGB);
awtImage = ImageIO.read(new FileImageInputStream(new File( image )));
ximage = new PDPixelMap(doc, awtImage);
}
System.out.println(" Width of the image.... " + ximage.getWidth());
PDPageContentStream contentStream = new PDPageContentStream(doc, page);
contentStream.drawImage( ximage, 20, 20);
//contentStream.drawImage( ximage, 20, 20 );
contentStream.close();
doc.save( file );
}
finally
{
if( doc != null )
{
doc.close();
}
}
}
注意:每次保存时图像的尺寸都会发生变化
请帮忙。谢谢