2

Возникли проблемы с 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, как и положено.

Я не уверен, куда идти отсюда, кто-нибудь еще видел это или видел это и решил это?

РЕДАКТИРОВАТЬ:

Как ответил Каспер Сурен ниже, с тех пор я перешел на Homebrew для управления этими библиотеками.

3 ответа3

0

Я предлагаю перейти на Homebrew, более современный вариант macports и fink.

brew install imagemagick
0

Похоже, что команда imagemagick знает о проблеме, и она была исправлена в версии 6.5.5-8.

Пакет MacPorts использует более новую версию ImageMagick от 16.09.09. Попробуйте выполнить самообновление, а затем обновить php5-imagick.

sudo port selfupdate
sudo port upgrade php5-imagick

Это решило проблему для меня.

0

Ошибка сегментации - это ошибка обработки памяти в программе, поэтому это может быть либо ошибкой в процессах сборки, либо самой программой. Я установил ImageMagick, используя MacPorts, а не собирая их из исходного кода, и версия ImageMagick для MacPorts, похоже, также содержит ошибки из-за 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" in.pdf

Где out.jpeg - выходной файл, а in.pdf в конце - ваш входной файл.

Вы также можете изменить -r72x72 на другое разрешение, если хотите настроить выходное разрешение выше 72 dpi.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .