如何从命令行在 ubuntu 中查找机器生成的 PDF 的 DPI

How to find DPI of a machine generated PDF in ubuntu from command line

我正在编写 python 脚本来获取 pdf 页面的 dpi。要获取扫描的 PDF 的 DPI,我正在使用 pdfimages 命令。

$ pdfimages -list test.pdf
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1       0  image    1096  2074  gray    1   8  image  yes        9  0   500   500  536K  24%

我在 x-ppi 和 y-ppi 字段中获得了 DPI。我在带有子进程模块的程序中使用上面的命令 但是当我尝试使用机器生成的 PDF 时,它会给出以下输出。

page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------

有人可以帮助我如何从 ubuntu 命令行或 python.

获取机器生成的 PDF 的 DPI

机器生成的 PDF 可能是矢量 PDF,而您扫描的 PDF 是光栅 PDF。 DPI 在矢量 PDF 中没有意义,因此它不会报告它。

PDF 没有 "DPI",它们主要是关于编码可以在任意分辨率下光栅化的矢量图像。您提取的图像也只是任意二维像素数组,决定它们 "DPI" 的是文件中的 PDF 命令,该命令指定图像将呈现到页面中的大小

存储在 PDF 中的图像可以以不同的大小多次显示(尽管大多数情况下它只显示一次),因此同一张图像可以在 -list 的输出中多次出现,并且 source code 似乎确实引用了变换矩阵,所以它可能做对了

代码似乎也没有办法不这样做,所以我不确定你所说的 "machine-generated PDF"

失败是什么意思