如何在unix中使用ghostscrpt或其他解决方案获取多页tiff和pdf的页面大小?
我需要在unix工具中,获取多页tiff和pdf中每个页面的信息。一些解决方案给予pdf_info.ps(我在this topic中回答),但它仅适用于pdf。请帮帮我。如何在unix中使用ghostscrpt或其他解决方案获取多页tiff和pdf的页面大小?
另外我怎么能不打印大于A4格式的文件? 谢谢!
解决方案TIFF:
- 对于TIFF(也多页TIFF)使用tiffinfo LIB(的libtiff的一部分)
您可以从ImageMagick软件包使用identify
命令来获得页面大小。它可以一次性消费不同的文件(甚至是不同的文件类型):
identify multipage.*
输出示例:
multipage.pdf[0] PDF 421x595 421x595+0+0 16-bit Bilevel DirectClass 31.6KB 0.000u 0:00.000
multipage.pdf[1] PDF 421x595 421x595+0+0 16-bit Bilevel DirectClass 31.6KB 0.000u 0:00.000
multipage.pdf[2] PDF 421x595 421x595+0+0 16-bit Bilevel DirectClass 31.6KB 0.000u 0:00.000
multipage.pdf[3] PDF 421x595 421x595+0+0 16-bit Bilevel DirectClass 31.6KB 0.000u 0:00.000
multipage.tif[0] TIFF 1728x2156 1728x2156+0+0 1-bit Bilevel DirectClass 3.02KB 0.000u 0:00.000
multipage.tif[1] TIFF 1728x2156 1728x2156+0+0 1-bit Bilevel DirectClass 3.02KB 0.000u 0:00.000
multipage.tif[2] TIFF 1728x2156 1728x2156+0+0 1-bit Bilevel DirectClass 3.02KB 0.000u 0:00.000
有1个PDF,4页(每页大小的A5 == 421x595 PT) ,和一个3页的TIFF(1728x2156像素的回音页)。
你甚至可以自定义identify
输出格式,以满足您的需求:
identify -format "%f: Page-Number: %p -- Width: %W -- Height: %H\n" multipage.*
现在输出:
multipage.pdf: Page-Number: 0 -- Width: 421 -- Height: 595
multipage.pdf: Page-Number: 1 -- Width: 421 -- Height: 595
multipage.pdf: Page-Number: 2 -- Width: 421 -- Height: 595
multipage.pdf: Page-Number: 3 -- Width: 421 -- Height: 595
multipage.tif: Page-Number: 0 -- Width: 1728 -- Height: 2156
multipage.tif: Page-Number: 1 -- Width: 1728 -- Height: 2156
multipage.tif: Page-Number: 2 -- Width: 1728 -- Height: 2156
只要注意,对于页/图像编号的默认输出为0〜根据。
更新:
我应该在这个答案的第一个版本已经提到:
identify
可以当它涉及到返回的PDF页面信息进行相当缓慢(对于多页TIFF,这是可以的)。对于PDF页面信息,您最好用
pdfinfo -f 1 -l 33 file.pdf
。这将返回有关PDF的各种元数据,以及范围从1到33的各个页面编号(如果您使用最新版本的Poppler的pdfinfo
- 不是XPDF的!),那么您甚至会得到旋转页面状态)。
所以:使用了合适的工具:多页TIFF这是identify
,对于PDF文件是pdfinfo
。
感谢您的好主意!我会尽量使用它!但不幸的是,我的硬件资源有限(使用pbx),我需要使用imagemagic测试CPU花费的数量。 – MikeLP 2012-07-12 09:33:31
@MikeL:只要你使用'identify',它不应该是CPU的大负载。但是,要安装ImageMagick,它可能会吸引很多依赖项,以便它可以运行...因此,可能磁盘空间可能会成为您的关注点。假设大约有100多MB ... – 2012-07-12 10:59:39
你在寻找一个命令行工具还是代码库? – BitBank 2012-07-11 15:44:58
任何东西,因为我需要的结果)) – MikeLP 2012-07-12 09:35:48
'tiffinfo'不是Poppler设备的一部分。它是LibTIFF的一部分(与Poppler无关)。 – 2012-08-11 21:32:42