调整大小的Pdf图像变得模糊,在pdfbox中只得到部分



我有一个大图像,我想在我的PDF文档中打印它,我正在写以下内容:

InputStream in = new FileInputStream(new File("C:/mylargeimage.jpg"));
PDJpeg img = new PDJpeg(doc, in);
img.setHeight(100);
img.setWidth(100);
contentStream.drawImage(img,50,pageYaxis);

我正在打印图像,但图像变得模糊,无法获得完整的图像。我需要将图像的大小调整为100X100。我该如何克服这一点?请帮帮我,伙计们??我做过很多裁判,但都不清楚。

你试过这样做吗?

InputStream in = new FileInputStream(new File("C:/mylargeimage.jpg"));
PDJpeg img = new PDJpeg(doc, in);
contentStream.drawXObject(img, 50, pageYaxis, 100, 100);

drawImage的Javadoc表示,它将按照图像的默认大小绘制。drawXObject的Javadoc说:

在x、y坐标和某个宽度和高度。

我相信,对图像本身调用setWidthsetHeight只会改变PDFBox认为的图像的真实大小,因此它只需要图像的100x100像素作为源。

最新更新