Создание эскизов JPG из PDF вызывает проблемы с новой версией ImageMagick - PullRequest
4 голосов
/ 17 февраля 2011

Я использую Imagemagick для создания миниатюр изображений PDF-файлов с помощью этой команды:

convert 'input.pdf[0]' -resize "100x140>" -colorspace 'rgb' 'output.jpg' 2>/dev/null

Некоторые файлы PDF находятся в цветовом пространстве CMYK, поэтому в качестве ожидаемого -colorspace указывается rgb. Это работало нормально, пока я не обновил до последних версий Imagemagick (6.6.7-1) и ghostscript (9.01_0), теперь похоже, что преобразование в rgb больше не работает, вот пример выходных данных:

failed cymk-rgb conversion

(фон должен быть белым, а не черным) Кажется, однако, что проблема связана с параметром -resize, потому что, если я удаляю его, вывод правильный.

Чтобы получить ожидаемый результат, я теперь делаю два прохода: первый для преобразования в rgb, а второй для изменения размера изображения, но это не очень элегантно. Есть ли лучшее решение?

Ответы [ 2 ]

3 голосов
/ 12 июля 2012

Я решил эту проблему, передав опцию -flatten.Теперь мои эскизы отображаются правильно.

0 голосов
/ 12 июля 2012

Что делать, если вы меняете параметры? Это может уберечь вас от запуска двух разных команд. Потому что эти две команды:

convert 'in.pdf[0]' -resize "100x140>" -colorspace 'rgb' 'out.jpg'
convert 'in.pdf[0]' -colorspace 'rgb' -resize "100x140>" 'out.jpg'

заставит (последние версии) ImageMagick обрабатывать файлы другим способом; каждый раз он следует порядку, указанному в командной строке (это не так для более старых версий).

...