簡體   English   中英

使用 iText 獲取 PDF 文件中的圖像 DPI

[英]Getting Image DPI in PDF files using iText

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

使用答案和評論,我得到了寬度和高度(通過 Matrix 或通過 BufferedImage)。 這個想法是用這里的答案來計算DPI,但我有點迷茫。

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

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

  1. 像素數:您獲得圖像並且圖像由像素組成。 您可以從圖像中檢索圖像的寬度和高度(以像素為單位)。 假設這些值是wPxwPx
  2. 以英寸為單位的距離:您將獲得一個矩陣,該矩陣為您提供以點表示的值。 由於 72 點等於 1 英寸,因此您需要將這些值除以 72。假設這些值是wInchhInch

現在您可以像這樣計算 x 方向的 DPI: wPx / wInch和 y 方向的 DPI,如下所示: hPx / hInch

我認為原始答案(2014 年 8 月 28 日回答)適用於 iText 5。 iText 7 的更新答案在這里:

上面鏈接的信息粘貼在下面:

現在您不需要自己計算 DPI 值。 iText 7 中有一個 ImageData class 內置方法來解決您的問題:

ImageData image = ImageDataFactory.create(IMG);
int x = image.getDpiX();
int y = image.getDpiY();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM