【问题标题】:PHP Converting PDF's to images -dUseCropBoxPHP将PDF转换为图像-dUseCropBox
【发布时间】:2010-09-13 09:29:04
【问题描述】:

我正在尝试将 PDF 转换为图像,我需要确保在调用 Ghostscript 时指定了 -dUseCropBox 参数。这个可以吗?

convert "/var/www/vhosts/site.co.uk/httpdocs/uploads/source_pdf/PP4SDpdf.pdf" -resize 500X500 "/var/www/vhosts/site.co.uk/httpdocs/uploads/image_pdf/SaturdayTest.jpg"

效果很好,只是需要把Ghostscript参数放进去。

【问题讨论】:

    标签: php pdf imagemagick ghostscript


    【解决方案1】:

    您可以直接运行 Ghostscript(而不是让convert 调用它)

    我问,因为convert 本身不进行 PDF => JPEG 转换。它将 Ghostscript 称为完成这项工作的“代表”。因此,要使convert 正常工作,您无论如何都需要访问该系统上的功能性 Ghostscript 安装...。

    但是如何将自定义参数添加到converts 命令行以将它们传递给 Ghostscript 的命令行并不容易。 Ghostscript 的命令行也不是很简单,但至少它完全是 documented at a well-known place(参见 Use.htmDevices.htmPs2pdf.htm em> 那里)。

    这是一个命令,可以将您的输入 PDF 转换为一系列 JPEG(每个 PDF 页面一个文件)。我假设 Windows - 对于 Linux,只需将 ^ 替换为 \gswin32c.exe 替换为 gs

    gswin32c.exe ^
      -o "d:/path with spaces/to/output/dir/input_page_%03d.jpeg ^
      -sDEVICE=jpeg ^
      -dJPEQ=95 ^
      -r720 ^
      -g5000x5000 ^
      -dUseCropBox=true ^
      "d:/path/to/input.pdf"
    

    说明:

    • -dJPEGQ 设置 JPEG 质量。接受0..100 范围内的整数值。更高的值会创建更大的文件...(Ghostscript 的 JPEGQ 默认设置为 75。)
    • -r720 设置(相当高的)720dpi 分辨率。更高的值会创建更大的文件...(Ghostscript 的 jpeg 输出设备的默认值为 72dpi。)
    • -g5000x5000像素 为单位给出文件尺寸。 (注意:当减小 -r... 值时,您还必须相应地减小 -g... 值以保持用户空间英寸或毫米的相同尺寸。)

    如果对您有用,您也可以添加 -dPDFFitPage=true

    【讨论】:

      【解决方案2】:

      imagemagick(转换命令)的开关是:

      -define pdf:use-cropbox=true
      

      http://www.imagemagick.org/Usage/formats/#ps_reading

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-16
        • 1970-01-01
        • 2011-05-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多