PHP将PDF转换为图像-dUseCropBox

时间:2010-09-13 09:29:05

标签: php pdf imagemagick ghostscript

我正在尝试将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参数。

2 个答案:

答案 0 :(得分:1)

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

我问,因为convert没有做PDF => JPEG转换本身。它将Ghostscript称为“代表”来完成这项工作。因此,要使convert工作,您需要访问该系统上的功能性Ghostscript安装....

但是如何向convert命令行添加自定义参数以将它们传递给Ghostscript的命令行并不容易理解。 Ghostscript的命令行也不是很简单,但至少它是完全documented at a well-known place(参见 Use.htm Devices.htm Ps2pdf.htm 那里。

这是一个命令,可以将输入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

答案 1 :(得分:1)

imagemagick(convert-command)的开关是:

-define pdf:use-cropbox=true

请参阅http://www.imagemagick.org/Usage/formats/#ps_reading