Answers:
slhck的答案和scruss的评论值得更新:pdfimages
现在(至少从0.26.5版开始)显式列出了x-ppi
和y-ppi
。这是一个示例输出:
$ pdfimages -list example.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 2244 2244 cmyk 4 8 image no 215 0 301 301 418K 2.1%
2 1 image 900 600 rgb 3 8 image no 324 0 1524 1525 35.5K 2.2%
关于Debian(Wheezy)和Fedora(23),pdfimages
是poppler-utils
软件包的一部分。
我知道您不想提取图像数据,但这可能是找出原始分辨率的唯一方法。
在* nix中,如果您有ImageMagick的identify
和xpdf的安装1:
pdfimages -j test.pdf test && for file in $(find . -name "test*.jpg"); do identify "$file"; done
test.pdf
您输入的PDF 在哪里。输出文件被写入test-000.jpg
,test-001.jpg
,等等。这将为您提供该PDF 2包含的所有图像的原始大小。
仅包含一个大图像的PDF文件的示例输出:
./test-000.jpg JPEG 2500x1961 2500x1961+0+0 8-bit DirectClass 1.022MB 0.000u 0:00.000
1)Windows也有这些,但是脚本当然会有所不同。
2)请注意,图像并不真正包含DPI信息。简单地说:这只是用于打印的东西,图像不需要DPI的固有度量。
将文本文件转换为图像PDF的最佳分辨率是多少?96dpi,300dpi或更高?
通常,您要打印的任何东西都应为300dpi或更高。大多数打印机也会处理更高的分辨率。
pdfimages -list test.pdf
。而不是输出文件,而是列出大小和图像类型。仍然没有明确为您提供解决方案,但避免创建输出文件。
pdfimages -list
显式提供x-ppi
和y-ppi
以及许多其他信息。
pdfimages
可能相差很大(例如,当图像大于其可见区域时,在产生的PDF中scribus
)。(很遗憾,我现在真的没有时间提交错误报告。)
由于某种原因,我可以在CentOS中升级的pdfimages的最新版本是3.04版。
因此,我没有前面的答案中所述的-list选项。但是,基于slhck答案从pdfimages创建的测试图像包含所需答案!
确定-verbose test-0000.jpg | 更多
Image: test-0000.jpg
Format: JPEG (Joint Photographic Experts Group JFIF format)
Mime type: image/jpeg
Class: DirectClass
Geometry: 6600x5100+0+0
Resolution: 600x600
Print size: 11x8.5
因此,使用identify命令中的-verbose选项在第6行上显式显示dpi。
因此,slhck的答案可以修改为以下内容。
pdfimages -j test.pdf测试&& $中的文件(找到。-name“ test * .jpg”);标识-verbose“ $ file” | awk'NR == 6'; 做完了
另一方面,我尝试跑步
确定详细测试.pdf
Format: PDF (Portable Document Format)
Mime type: application/pdf
Class: DirectClass
Geometry: 792x612+0+0
Resolution: 72x72
Print size: 11x8.5
似乎Imagemagick始终假定为72dpi,因此此处打印的信息似乎不正确。
PDF文件没有固有的分辨率,其中的每个光栅图像(如果有)将具有其自己的分辨率。我不知道提取嵌入式数字XObjects的中位数/模态分辨率的单个数字的简单方法。