2014-08-28 51 views
2

我試圖獲取有關通過iText(使用Java)保存爲PDF文件的掃描圖像的信息。使用iText在PDF文件中獲取圖像DPI

使用the answer and comments,我得到了寬度和高度(通過矩陣或通過BufferedImage)。想法是在這裏使用answer來計算DPI,但我有點失落。

這些值(寬度和高度)是以像素還是點爲單位?有沒有其他方法可以實現這一目標?關於如何縮放和保存圖像到PDF文件有很多答案,但是我沒有找到關於如何讀取圖像的寬度/高度/比例以及對結果有信心的答案。

回答

2

讓我們把這個問題分成兩個單獨的問題。要計算DPI,您需要兩組值:像素數和英寸距離。

  1. 像素數量:您獲取圖像,圖像由像素組成。您可以從圖像中以像素爲單位檢索圖像的寬度和高度。假設這些值是wPxwPx
  2. 以英寸爲單位的距離:您可以獲得以點表示的值的矩陣。由於72分等於1英寸,因此您需要將這些值除以72.假設這些值爲wInchhInch

現在你可以像這樣在x方向上計算DPI了:wPx/wInch和y方向上的DPI是這樣的:hPx/hInch

+0

現在它是有道理的:圖像是在像素,矩陣是在點,所以我需要兩個和一個簡單的部門會給我我想要的結果,對吧? – Finik 2014-08-28 14:48:39

+0

是的。從矩陣中獲取英寸很容易。從圖像中獲取像素可以用不同的方式完成,也可以取決於圖像的類型。儘管使用標準的java.awt類應該是可能的。 – 2014-08-28 20:17:48