2015-04-23 119 views
-1

我使用iText 1.3將圖像文件(gif,png,jpg,bmp)成功轉換爲pdf。 我無法更改版本,因爲我們不能在專業環境中明顯更改jar版本。使用iText和Java將圖像轉換爲pdf

我遇到的問題是PDF中圖像的大小比圖像本身大。我不是在談論文件大小,而是在原始圖像文件和PDF上的縮放設置爲100%時圖像的大小。 pdf顯示比原始圖像大20%到30%的圖像。

我在做什麼錯?

public void convertOtherImages2pdf(byte[] in, OutputStream out, String title, String author) throws IOException { 
     Image image = Image.getInstance(in); 
     Rectangle imageSize = new Rectangle(image.width() + 1f, image.height() + 1f); 
     image.scaleAbsolute(image.width(), image.height()); 
     com.lowagie.text.Document document = new com.lowagie.text.Document(imageSize, 0, 0, 0, 0); 
     PdfWriter writer = PdfWriter.getInstance(document, out); 
     document.open(); 
     document.add(image); 
     document.close(); 
     writer.close(); 
    } 
+0

兩者都是100%。如果我把它們放在一起,你可以清楚地看到不同之處(或通過alt + tab)。 –

回答

2

您需要通過dpi來縮放圖像。

float scale = 72/dpi; 

我不知道這樣一個古老的iText具有圖像信息,最近的iText的版本有它。

+0

Paulo表示,1.3是古老的(2005年4月),所以請考慮升級,即使您正在生產。我非常確定,切換罐子比使用10年前的罐子更安全。 –

+0

Thansk的小費。在舊版本的iText中,我能夠檢索所需的所有數據,但不幸的是,它不能正常工作:(。 –

+0

編輯您的問題,向我們展示您的新代碼。 –