使用 Imagemagick 和 Snow Leopard 时遇到困难。
使用此处的安装脚本安装了 Imagemagick这里。一切都正确构建和安装。Imagemagick 对所有命令(我能找到的)都表现正常,除了尝试转换 PDF 时。例如,
$ convert my.pdf my.jpg
Segmetation Fault
我认为它可能是 ghostscript,并尝试运行 Imagegick 委托的命令(通过 -verbose 选项)
$ convert -verbose spec/fixtures/documents/upload_test_file.pdf test.jpg
"gs" -q -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=0 "-sDEVICE=pnmraw" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72" "-sOutputFile=/var/folders/Xz/Xz6TDr0DFQaV5J1F7Ndamk+++TM/-Tmp-/magick-4zvJXfSz" "-f/var/folders/Xz/Xz6TDr0DFQaV5J1F7Ndamk+++TM/-Tmp-/magick-O7a9fDyp" "-f/var/folders/Xz/Xz6TDr0DFQaV5J1F7Ndamk+++TM/-Tmp-/magick-rBEzLUsx"
Segmentation fault
$ "gs" -q -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=0 "-sDEVICE=pnmraw" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72" "-sOutputFile=my.jpg" "-fmy.pdf"
并且它成功了。它按预期创建了 pnmrow 文件。
我不知道接下来该怎么做,有没有人见过这种情况或者看过并解决过这个问题?
编辑:
正如 Kasper Souren 在下面回答的那样,我已经切换到 Homebrew 来管理这些库。
答案1
看起来 imagemagick 团队意识到问题并已在 6.5.5-8 版本中修复。
MacPorts 软件包使用自 2009 年 9 月 16 日起更新的 ImageMagick 版本。请尝试进行自我更新,然后升级 php5-imagick。
sudo port selfupdate
sudo port upgrade php5-imagick
这为我解决了这个问题。
答案2
分段错误是程序内存处理的一个错误,因此它可能是构建过程中或程序本身的一个错误。我使用以下方法安装了 ImageMagick:麦金塔而不是从他们那边的源代码构建,MacPorts 版本的 ImageMagick 似乎也因为 ghostscript 而出现错误。如果您在预览中打开文件,则另存为...JPEG 应该可以正常工作。
编辑:
我对此进行了一些修改,并使用 ghostscript 做了一些工作:
gs-q-dQUIET-dPARANOIDSAFER-dBATCH-dNOPAUSE-dNOPROMPT \ -dMaxBitmap=500000000-dAlignToPixels=0-dGridFitTT=0 \ “-sDEVICE=jpeg”-dTextAlphaBits=4-dGraphicsAlphaBits=4 \ “-r72x72” “-sOutputFile=out.jpeg” 在.pdf 中
其中 out.jpeg 是输出文件,最后的 in.pdf 是输入文件。
如果您想将输出分辨率调整到高于 72 dpi,您也可以将 -r72x72 更改为其他分辨率。
答案3
我建议搬到自制,macports 和 fink 的更现代变体。
brew install imagemagick