将多页PDF转换为多页TIFF的工具

8

我正在编写一个小应用程序,将多页PDF转换为多页TIFF文件。根据该网站上的其他问题和答案,我已经尝试了ghostscript和ImageMagick,但是当我运行它们时,这两个软件只转换第一页。是否有其他工具可以完成此任务,最好是开源的?


语言?商业或免费的? - mark stephens
2个回答

24
实际上,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文件,但使用不同的输出设备
  1. tiffg4是灰度图像,分辨率为204dpi x 196dpi(因为TIFF G4传真标准要求)。
  2. tiff24nc是RGB彩色图像(每个颜色分量8位),分辨率为72dpi x 72dpi。
  3. tiff32nc是CMYK彩色图像(每个颜色8位),同样使用72dpi的分辨率。
上述链接中还有许多其他的TIFF输出设备。
所有TIFF文件的分辨率值都来自Ghostscript的默认设置。如果您想覆盖这些设置,例如因为需要600dpi x 600dpi,请添加
-r600x600

请将以下命令行中的任何一个用于操作相关内容。

要证明您有多页TIFF,请使用以下命令:

identify multipage-tiff*.tif

(identify 是 ImageMagick 包中的一个命令,您似乎已经安装了。) 因此,对于每个 *.tif 文件,您应该看到多行输出 -- 每行代表相应 *.tif 的一页。
我怀疑它可能已经完全适用于您 -- 只是您无法识别结果 TIFF 中的多个页面。并非所有的 TIFF 查看器都能够显示这些页面 -- 如果不能以其他方式显示,则只会显示第一页,这可能会欺骗您。

2
感谢您详细的回复。我发现Ubuntu中默认的图像查看器无法正确显示转换后的TIF文件。我在另一个查看器中打开它们,并确认它们实际上是使用ImageMagick和Ghostscript正确转换的。 - William Seemann
@Kurt_Pfeifle 你知道如何将多页PDF转换为单页TIFF吗?https://dev59.com/aIfca4cB1Zd3GeqPp_QK - Changwang Zhang
我在原问题的评论中提到了这一点(在我看来,它不应该被关闭)。您需要使用“%d”指定输出文件,因此在Kurt使用-o multipage-tiff32nc.tif时,您将放置-o multipage-tiff32nc-%d.tif。 - KenS
这里有一些关于设置分辨率的有用细节:https://dev59.com/9VbTa4cB1Zd3GeqP_H2B - cardamom

0

如果您对使用 PHP 而不是 Bash 脚本进行操作感兴趣,您也可以使用 Imagick php extension


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接