【问题标题】:How do you convert PDFs to PNGs with ghostscript?如何使用 ghostscript 将 PDF 转换为 PNG?
【发布时间】:2011-09-08 04:05:48
【问题描述】:

我通常可以通过以下命令使用 ghostscript 将 PDF 转换为 PNG:

gs \
 -q \
 -dNOPAUSE \
 -dBATCH \
 -sDEVICE=pnggray \
 -g2550x3300 \
 -dPDFFitPage \
 -sOutputFile=output.png \
  input.pdf

但这不适用于某些 PDF 文件。例如,上面的命令将这个PDF file 转换成这个PNG——原始PDF 只是PNG 左下角的一个小图像,而不是填满整个页面。

有没有更强大的方法可以使用 ghostscript 或其他命令行工具将 PDF 转换为 PNG?

注意:如果我在 OS X 上的预览中通过“打印 -> 另存为 pdf”从有问题的文件生成一个新的 PDF 文件,那么该命令可以正常工作。

【问题讨论】:

    标签: pdf ghostscript postscript


    【解决方案1】:

    只需使用ImageMagick's convert

    convert foo.pdf foo.png
    

    您可以使用格式字符串更精确地控制页码,例如:

    convert foo.pdf "foo-%03d.png"
    

    当然还有无数其他的 ImageMagick 选项,但上面的基本命令是您大部分时间所需要的。

    编辑:关于你的“bad.pdf”:

    简短的回答是将选项 -dUseCropBox 添加到您的 gs 命令或 -define pdf:use-cropbox=true 到 convert 命令。

    gs \
     -q \
     -dNOPAUSE \
     -dBATCH \
     -sDEVICE=pnggray \
     -g2550x3300 \
     -dPDFFitPage \
     -dUseCropBox \
     -sOutputFile=output.png \
      input.pdf
    

    convert \
     -density 300 \
     -define pdf:use-cropbox=true \
      foo.pdf \
      foo.png
    

    如果您在文本编辑器中查看 PDF,您会看到指定了 CropBox 和 MediaBox,并且 CropBox 要小得多。

    【讨论】:

    • 这似乎无法解决我发布的有问题的 pdf 文件...。我发布的 ghostscript 命令通常也可以工作,但不适用于该文件。
    猜你喜欢
    • 2013-12-27
    • 2010-11-01
    • 1970-01-01
    • 2016-03-11
    • 2017-08-08
    • 1970-01-01
    • 2014-05-07
    • 2023-04-08
    • 1970-01-01
    相关资源
    最近更新 更多