Itextpdf 設置pdf 的分辨率(dpi)

      剛來新公司次日,提了一個問題給我處理。 java

將圖片生成到pdf裏面結果圖片的DPI 與生成以後PDF 分辨率不同致使打印出來的不行。 dom

以前一直沒有接觸過DPI 不知是什麼,沒辦法,只能百度。 工具


DPI:「dot per inch」的縮寫,就是指在每英寸長度內的點數。在Photoshop中文版中能夠看到中文解釋是「分辨率」的一種表示方式——「像素/英寸」,也就是英寸的像素點。 DPI越大,像素數越高;通常電腦中所須要的dpi數爲72;而相片沖印和印刷則須要300dpi.


知道圖片的DPI 可是PDF 的DPI 估計也是同樣的。可是不知道怎麼查看。度娘告訴我用ps能夠看,下了ps。查看生成以後的PDF 原來就是PS工具欄中圖像裏的圖像大小,一看分辨率是72。 測試

剛開始覺得PDF的pdi 跟圖片有關係,只要設置了圖片的DPI就好了。 spa

設了半天不行。本來個人圖片DPI就是96。爲什PDF生成的老是72。 code

研究itextpdf 裏面看了半天都沒有關於DPI的東西能夠設置。(哎,研究能力太弱) 圖片

而後放棄使用Itexpdf 。 get

使用幾種操做pdf 的類庫,各類強大可是都沒有介紹關於DPI的東西。(整的頭痛) it

看了PDFRenderer ,可是人家只是讀pdf的操做,並且好久沒人維護了。 class

又看了ICEpdf 看了半天也沒找。

在找,看到了pdfjet ,感受裏面裏面又有dome 比較全。

找了一個Example_03.java 作了測試。用ps看了下dpi 變了,查看每句代碼

終於看到有一個方法Image.scaleBy能夠設置,可是裏面該設置啥。

各類嘗試 先設置1f 結果是DPI 是72。

我想把DPI變成96 反算下72/96=0.75 設置0.75f

結果pdf的DPI真的變成96。

返回項目中的代碼看看itexpdf 也有這個方法叫 scalePercent 可是百分比這種方式。

Image jpeg;

jpeg = Image.getInstance(buffimg, null);
jpeg.scalePercent(75f);




設置一個75f dpi改變了。終於能夠解決了。

唉不容易呀,折騰了1.5d。

相關文章
相關標籤/搜索