我无法在MacOSX(10.9.4)上为PHP配置ImageMagick。还有其他方法可以进行转换,即没有ImageMagick或者有任何简单的方法吗?我只需要将我的pdf文件的第一页转换为.jpg或.png。
答案 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输出,请使用jpeg
。 gs
还有许多其他位图格式的驱动程序。
如果上面的内容一开始没有用,我建议先在命令行中尝试一下,只有在成功的时候,才把它放到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
。如果任何一个部分出错,请引用确切的错误。