我正在编写一个小型应用程序,将几个多页PDF转换为多页TIFF文件。根据这个网站上的其他问题和答案,我已经尝试过ghostscript和ImageMagick,但这两款软件在我运行它们时都只隐藏第一页。有没有其他工具可以用来实现这一点,最好是开源工具?
实际上Ghostscript可以将多页PDF转换为多页TIFF。只要确保安装了Ghostscript的最新版本即可。检查生成的TIFF时要小心,因为查看器可能不会显示TIFF的所有页面,或者可能不清楚如何前进到TIFF中的后续页面。
考虑以下3个命令:
gs
-o multipage-tiffg4.tif
-sDEVICE=tiffg4
multipage-input.pdf
和
gs
-o multipage-tiff24nc.tif
-sDEVICE=tiff24nc
multipage-input.pdf
和
gs
-o multipage-tiff32nc.tif
-sDEVICE=tiff32nc
multipage-input.pdf
这些命令中的每一个都会生成多页TIFF,但具有不同的输出设备:
- tiffg4是灰度级的,使用204dpi乘196dpi的分辨率(按照TIFF G4传真标准的要求)
- tiff24nc是RGB颜色(每个颜色分量有8位),使用72dpi乘72dpi的分辨率
- tiff32nc是CMYK颜色(每种颜色有8位),也使用72dpi的分辨率
在上面的链接中有许多用于TIFF的附加输出设备。
TIFF文件的所有分辨率值都来自Ghostscript的默认设置。如果你想覆盖这些,例如因为你需要600dpi乘600dpi,只需添加
-r600x600
到上述任何命令行。
要证明您有多页TIFF,请使用以下命令:
identify multipage-tiff*.tif
(identify
是ImageMagick包中的一个命令,您似乎已经安装了它。)因此,您应该会看到每个*.tif文件的多行——每行代表相应*.tif.的一页
我怀疑它可能一直对您有效——您只是无法识别生成的TIFF中的多个页面。并不是所有的TIFF查看器都能显示这些内容——只有在不能显示的情况下,它们才会显示第一页,这可能会欺骗你。
如果您有兴趣在php而不是bash脚本中使用Imagick php扩展,也可以使用它。