2013-04-17 146 views
0

我試圖將pdf轉換爲tiff圖像。我通過使用pdfbox得到它的工作,但圖像太大。PDFBox將PDF轉換爲TIFF。以字節爲單位縮小圖像大小

比方說,我的PDF文件大小224KB是=>圖像大小= 1.4MB

我怎樣才能讓TIFF文件,而不會丟失的質量?

下面是一些代碼:

TIFFImageWriterSpi tiffspi = new TIFFImageWriterSpi(); 
writer = tiffspi.createWriterInstance(); 
ImageWriteParam param = writer.getDefaultWriteParam(); 
TIFFImageWriteParam param2 = (TIFFImageWriteParam) writer.getDefaultWriteParam(); 
param2.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); 

param2.setCompressionType("LZW"); 
param2.setCompressionQuality(1.0f); 

writer.setOutput(output); 
writer.write(null,new IIOImage(image,null,null),param2); 
+2

*「如何使tiff文件變小而不失質量?」*魔術? –

+0

但是,在某些設置下它不可能變小,或者當pdf很小時,這個tiff文件很大是正常的嗎? – user1345883

+0

直接圖像(99%的時間)會比同等PDF大。問題在於,您在PDF中看到的大部分內容都是由一些帶有相關樣式,字體和定位參數(通常也用文本表示)的文本生成的。當涉及到圖像OTOH時,所有文本都被渲染爲字形(可能是反鋸齒 - 這會進一步推動文件的大小)。無論如何,將「文本可搜索」PDF縮減爲簡單的舊圖像的目的是什麼? ***儘管我鄙視PDF格式,但我無法看到將PDF轉換爲靜態圖像的感覺。*** –

回答

2

這裏有一些準則:

  • 匹配的顏色,你的輸出。如果您使用黑色渲染,並且白色使用雙值輸出,則可以轉換爲每像素一位。如果 你沒有太多的顏色沒有太多的陰影或混合像 突出顯示着色或卡通風格的圖形,使用256色。如果您的PDF中有照片,則只有 使用全綵色。如果你不得不 產生全綵,你對小的追求註定。
  • 將壓縮與您的顏色深度相匹配。對於單色使用 CCITT T.4或CCITT T.6,對於 比特序列來說更有效。 LZW在字節序列(如256色)上效果最佳。 如果你不得不生產全綵色,你唯一的希望體面的 壓縮是JPEG,但這將模糊您的文字和線條。
相關問題