将PDF的第一页转换为JPG或PNG - PHP

时间:2014-07-26 19:56:06

标签: php image-processing imagemagick image-conversion

我无法在MacOSX(10.9.4)上为PHP配置ImageMagick。还有其他方法可以进行转换,即没有ImageMagick或者有任何简单的方法吗?我只需要将我的pdf文件的第一页转换为.jpg或.png。

1 个答案:

答案 0 :(得分:1)

以下是不使用ImageMagick进行转换的shell代码:

pdftops -f 1 -l 1 -paper letter input.pdf - | gs -q -sDEVICE=png16m -r300x300 -dNOPAUSE -dSAFER -sOutputFile=output.png -

pdftops是poppler实用程序的一部分。 gs是ghostscript。如果您无法访问pdftops,则可以使用Adobe acroread代替。

有许多选项可用于根据您的偏好调整输出。例如,上面显示的-r300x300选项会生成分辨率为300 dpi的位图。可以将其调整为gs支持的任何更高或更低的分辨率。此外,上面的驱动程序png16m生成24位彩色PNG。对于灰色,请使用pnggray。对于单色,请使用pngmono。对于jpeg输出,请使用jpeggs还有许多其他位图格式的驱动程序。

调试

如果上面的内容一开始没有用,我建议先在命令行中尝试一下,只有在成功的时候,才把它放到PHP中。此外,我建议将其分解为部分

第1部分:检查这是否会创建(大)postscript文件:

pdftops -f 1 -l 1 -paper letter input.pdf - >output.ps

第2部分:如果以上成功创建了postscript文件,请尝试:

gs -q -sDEVICE=png16m -r300x300 -dNOPAUSE -dSAFER -sOutputFile=output.png - <output.ps

这应创建output.png。如果任何一个部分出错,请引用确切的错误。