Я использовал PDFBox для преобразования png-изображения в pdf-документ, и я успешно могу это сделать.PDF-документ имеет только половину ширины при преобразовании png-изображения в pdf с использованием PDFBox
Но я столкнулся с проблемой, в которой документ 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();
}
}
}
Примечание: каждый раз, когда размер изображения становится изменен при сохранении
Пожалуйста, помогите. Thanks
Код не имеет смысла - вы создаете объект BufferedImage (awtImage), а затем перезаписываете его с помощью ImageIO.read(). Чтобы «доказать», что что-то не так, сравните awtImage.getWidth() с ximage.getWidth(). –