2011-01-20 6 views
1

Что я делаю - это делать миниатюры для файлов pdf (только на первой странице). Я использую ImageMagick, как это (упрощенная без изменения размера Это та же самая проблема.):Преобразование Imagemagick/GhostScript в jpeg/png игнорирует фон pdf

convert mreji.pdf[0] test.jpg 

Проблема заключается в том, что она просто игнорирует фоновое изображение в формате PDF и превращает его черный цвет. Это также не прозрачно (если я использую png вместо jpg), он просто черный. Я хочу сохранить исходный цвет фона.

Вот тест PDF: http://slides.bg/website/Uploads/Temp/mreji.pdf И выход ImageMagick здесь: http://slides.bg/website/Uploads/Temp/mreji.jpg Обратите внимание, что цвет фона заменяется черным цветом. Я хочу сохранить оригинал.

Я попытался с помощью Ghostscript непосредственно

gs -sDEVICE=jpeg -sOutputFile=cover.jpg -r72 mreji.pdf 

Опять же, тот же результат. Может быть, есть аргумент, чтобы это не происходило?

ответ

1

Проблема может быть с объектами «гладкого затенения» в этом PDF-файле.

Есть много (29) Тип 2 (Осевое затенение), гладкие объекты затенения в PDF, используемые для фона, и IIRC GhostScript имеет проблемы с этими и исправлениями ошибок на протяжении многих лет, какая версия gs ты бежишь?

Простейшим решением является растрирование фона в любом созданном PDF для этой цели.

+0

Спасибо за быстрый ответ. Я запускаю службу, которая использует загруженные пользователем pdf-файлы, поэтому изменение формата PDF не является вариантом. Я запускаю их на конюшне Debian, который имел GS 8.62, если я правильно помню. Поэтому я обновил GS от неустойчивого до 8,72, и теперь он работает хорошо. Я думаю, это была ошибка, которую они исправили. – stormbreaker

+0

@stormbreaker: Рад, что это было что-то простое, это сложный бит кода с предустановкой затенения, исправление ошибок на нем продолжалось * вдоль * времени. – Orbling

0

Try добавления Свести параметра:

convert mreji.pdf[0] test.jpg -flatten