使用iText在PDF文件中获取图像DPI

我正在尝试获取有关通过iText(使用Java)保存到PDF文件中的扫描图像的信息。

使用答案和注释 ,我得到了宽度和高度(通过Matrix或通过BufferedImage)。 我的想法是使用这里的答案来计算DPI,但我有点迷失。

这些值(宽度和高度)是以像素还是以点为单位? 有没有其他方法来实现这一目标? 关于如何将图像缩放并保存为PDF文件有很多答案,但我没有找到关于如何读取图像的宽度/高度/比例的任何答案,并对结果充满信心。

让我们将这个问题分成两个不同的问题。 要计算DPI,您需要两组值:像素数和英寸距离。

  1. 像素数:您获取图像,图像由像素组成。 您可以从图像中检索图像的宽度和高度(以像素为单位)。 假设这些值是wPxwPx
  2. 以英寸为单位的距离:您将获得矩阵,该矩阵为您提供以点表示的值。 当72点等于1英寸时,你需要将这些值除以72.假设这些值是wInchhInch

现在你可以像这样计算x方向的DPI: wPx / wInch和y方向的DPI,如下所示: hPx / hInch