调整大小的Pdf图像只会在pdfbox中变得模糊

时间:2014-10-03 06:59:03

标签: java image 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。我怎么能克服这个?请帮帮我们?我已经进行了很多评论,但没有什么是明确的。

1 个答案:

答案 0 :(得分:3)

你试过这样做吗?

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坐标和某个坐标处绘制xobject(窗体或图像)   宽度和高度。

我认为,对图像本身调用setWidthsetHeight只会改变PDFBox认为是图像的实际尺寸 - 因此它只需要100x100像素的图像作为源