Я хочу создать картинку convert
с картинки из ImageMagick.
И я следую за этим , но есть некоторые проблемы.
Входные данные В моей оболочке Linux:
convert -background white -fill black -font FreeSerif-Bold -pointsize 36 label:'adfgh' ./test.png
Ошибка:
конвертировать: не авторизовано
adfgh
@ error / constitute.c / ReadImage / 453. convert: отсутствует изображение с именем файла./test.png
@ error / convert.c / ConvertImageCommand / 3015
Мой ImageMagick: Версия: 6.7.2-7, я устанавливаю его с yum install ImageMagick
.
Я невежественен. Любой совет, пожалуйста?
imagemagick
imagemagick-convert
Jianwei
источник
источник
policy.xml
. Параметры безопасности могут помешатьlabel:
протоколу.Ответы:
Я использую ImageMagick в php (v.7.1), чтобы нарезать PDF-файл на изображения.
Сначала я получил такие ошибки, как:
После некоторых изменений
/etc/ImageMagick-6/policy.xml
я начинаю получать ошибки, такие как:Мое исправление :
В файле
/etc/ImageMagick-6/policy.xml
(или/etc/ImageMagick/policy.xml
)строка комментария
изменить линию
в
добавить строку
Затем перезапустите ваш веб-сервер (nginx, apache).
источник
policy.xml
файл последний раз обновлялся 29 сентября, но проблемы только сегодня возникают. Я использую Ubuntu Server 14.04.5, но установить автоматическое обновление. В журнале apt я узнал об этом обновлении:imagemagick-common:amd64 (6.7.7.10-6ubuntu3.12, 6.7.7.10-6ubuntu3.13),
Я много раз использую
convert
команду ImageMagic для преобразования*.tif
файлов в*.pdf
файлы.Я не знаю почему, но сегодня я начал получать следующую ошибку:
После выдачи команды:
Прочитав приведенные выше ответы, я отредактировал файл
/etc/ImageMagick-6/policy.xml
и изменил строку:
в
и теперь все работает отлично.
У меня есть «ImageMagick 6.8.9-9 Q16 x86_64 2018-09-28» на «Ubuntu 16.04.5 LTS».
источник
convert
в PDF требуется только один шаг .Если вы все еще здесь, вы пытаетесь редактировать изображения, над которыми у вас есть полный контроль, вы знаете, что они безопасны и не могут быть отредактированы пользователями.
Есть
/etc/ImageMagick/policy.xml
файл, который установлен yum. Он запрещает практически все (в целях безопасности и защиты вашей системы от перегрузки вызовами ImageMagick).Если вы получаете сообщение
ReadImage
об ошибке, как указано выше, вы можете изменить строку на:который должен решить проблему.
Файл содержит кучу документации, так что вы должны прочитать это. Например, если вам нужны дополнительные разрешения, вы можете объединить их следующим образом:
... что предпочтительнее, чем удаление всех проверок прав доступа (т.е. удаление или комментирование строки).
источник
poppler
альтернатива GhostScript (которыйconvert
основан на растеризации страниц PDF в изображениях)Если кому-то нужно сделать это одной командой после установки, запустите это!
источник
sed -i 's/\(<policy domain="coder" rights=\)"none" \(pattern="PDF" \/>\)/\1"read|write"\2/g' /etc/ImageMagick-6/policy.xml
sudo sed -i '/PDF/s/none/read|write/' /etc/ImageMagick-6/policy.xml
Ответ с наибольшим количеством голосов (у меня недостаточно репутации, чтобы добавлять комментарии) предлагает закомментировать строку MVG, но имейте в виду следующее:
И
Источник
источник
$convert --version Version: ImageMagick 6.7.7-10 2018-09-28 Q16 http://www.imagemagick.org
После недавнего обновления в моей системе Ubuntu 16.04 я также начал получать эту ошибку при попытке запустить конвертирование в файлы .ps для преобразования их в pdfs.
Это исправление сработало для меня:
В терминале запустить:
Это должно открыть файл policy.xml в текстовом редакторе gedit. Если этого не произойдет, ваша магия изображения может быть установлена в другом месте. Тогда поменяй
в
для PDF, EPS и PS строк в нижней части файла. Сохраните и выйдите, и изображение снова должно сработать.
источник
Просто удалите файл /etc/ImageMagick/policy.xml.
источник
policy-disabled.xml
. Я думаю, что восстановлю это, пока я не буду уверен, что проблемы безопасности будут решеныПосле прочтения нескольких предложений и объединения идей мне потребовались следующие изменения в /etc/ImageMagick-6/policy.xml:
... rights = "none" не помогло. ... pattern = "LABEL" не было необходимости. Хотя я не работаю с большими файлами png (всего ~ 1 Мб), некоторые изменения в пределах памяти также были необходимы:
(вместо 256Mib) и
(вместо 128 МБ)
источник
У меня была эта ошибка при попытке конвертировать pdf в jpg и я решил ее с помощью этого метода: sudo vi /etc/ImageMagick*/policy.xml
изменение:
политика домен = "кодер" права = "нет" шаблон = "PDF"
чтобы:
policy domain = "coder" rights = "read | write" pattern = "PDF"
Источник: http://realtechtalk.com/ImageMagick_Convert_PDF_Not_Authorized-2217-articles
источник
Если вам не нужно обрабатывать растровые файлы и PDF / PS / EPS с помощью одного и того же инструмента, не ослабляйте безопасность ImageMagick.
Вместо этого сохраняйте глубину защиты ваших веб-приложений, убедитесь, что ваш Ghostscript был исправлен для всех известных
-dSAFER
уязвимостей, а затем вызовите его напрямую.-dSAFER
выбирает вас из устаревшей совместимости: «запустить Postscript получит полное разрешение на взаимодействие с внешним миром в качестве языка программирования полного тьюринга».-r300
устанавливает желаемый DPI на 300 (по умолчанию 72)-sDEVICE
указывает формат вывода ( другие варианты см. в разделе « Устройства» в руководстве).-o
это сокращение для-dBATCH -dNOPAUSE -sOutputFile=
Если вы визуализируете EPS-файлы, добавьте их,
-dEPSCrop
чтобы они не дополняли ваш вывод до размера страницы и не использовали его-sDEVICE=pngalpha
для получения прозрачного фона.источник
-r600 -dDownScaleFactor=4
для создания файла с разрешением 150 точек на дюйм, но лучше сглаживания.У меня также была ошибка
error/constitute.c/ReadImage/453
при попытке конвертировать eps в gif с магией изображения. Я попробовал решение, предложенное sNICkerssss, но все еще имел ошибки (хотя и отличные от первого) eerror/constitute.c/ReadImage/412
Что решило проблему, так это поставитьread
другие записиисточник