【问题标题】:Convert multi PDF document to several Image files将多个 PDF 文档转换为多个图像文件
【发布时间】:2015-02-14 00:36:09
【问题描述】:

如何将多页 PDF 转换为多个 JPG 或 TIFF?

当我使用时

 convert "abc.PDF" "abc.JPG"

然后只转换 PDF 的第一页。是否可以将“abc.PDF”的每一页转换为多个 JPG 文件?

【问题讨论】:

  • 实际上你使用convert的方式应该为每个pdf页面创建一个jpg,参见例如here。所以这里有些奇怪。
  • 您的命令应该按原样工作。在推测为什么您只获得第一页时,我想到的唯一原因是:(1) 由于 PDF 中的一些错误,处理在第二页停止,在 Ghostscript 或 ImageMagick 中。 -- (2) 你的 ImageMagick 版本太旧了。

标签: linux pdf imagemagick-convert


【解决方案1】:

使用convert 时,您应该能够轻松地将多页 PDF 文件转换为多个 JPEG(每页一个文件)。

这是只处理第 1--5 页的命令:

convert PDF32000_2008.pdf[0-4] page-%d.jpg

[0-4]表示第1--5页。页面索引是从0开始的!)

但是,这并不能让您对生成的质量进行太多控制。您唯一可以添加的是-density 150-density 300 以提高图像的分辨率。 (convert 默认使用 -density 72,即 72 PPI。)

另外,请注意 ImageMagick 无法单独处理 PDF。它使用 Ghostscript 作为其“代表”来处理 PDF 文件。如果您将-verbose 添加到您的命令行,您可以看到这一点:

convert -verbose -density 200 ~/Downloads/PDF32000_2008.pdf[0-4] page-%d.jpg
  [....]
  [ghostscript library] -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT      \
                  -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2      \
                 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \
                 "-r200x200" -dFirstPage=1 -dLastPage=5                      \
                 "-sOutputFile=/var/tmp/magick-63898lc1DhZVuD6lu%d"          \
                 "-f/var/tmp/magick-63898h8-BZJ59LyhQ"                       \
                 "-f/var/tmp/magick-638989MxSe0EALH5F"

因此,在许多情况下,您希望将 PDF 页面转换为图像,直接运行 Ghostscript 具有优势...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 2010-10-15
    • 2018-10-17
    相关资源
    最近更新 更多