2014-10-03 95 views
1

我有一個大的圖像,我想打印我的PDF文檔中,我寫了如下:PDF圖像調整大小漸漸模糊只獲得了部分在PDFBOX

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。我該如何克服這一點?請幫助我們嗎?我曾經討論過很多,但沒有一點清楚。

+0

您是否嘗試在將圖像傳遞給PDJpeg之前縮放圖像?確保你保持比例,否則你的形象將變得模糊。 – Daniel 2014-10-03 07:15:48

+0

在將其傳遞給PDJPeg之前進行縮放是一個非常糟糕的主意,因爲這會降低質量。 – 2014-10-04 06:02:37

回答

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座標和一定 寬度和高度x對象(形式或圖像)。

調用圖像本身setWidthsetHeight會,我相信,只有改變什麼PDFBox的認爲是圖像的真實大小 - 所以只需要100×100像素的圖像作爲信源。