Я безуспешно пытаюсь использовать Ghostscript для растеризации файлов PDF с помощью
прозрачный фон для файлов PNG с прозрачным фоном. Я
искал высоко и низко вопросы от других, пытающихся сделать то же самое
и ни одно из опубликованных решений, которые, насколько я могу судить, сводятся к
указав -sDEVICE = pngalpha, работали с моими тестовыми файлами. С этой точки зрения
Буду очень признателен за любые советы или советы, которые могут сделать более опытные
предоставить.
Мой тестовый PDF находится здесь: http://www.kolossus.com/files/test.pdf
Возможно, проблема в этом файле, но я сомневаюсь в этом. Насколько я
могу сказать, что он не имеет заданного фона, и когда я открываю файл с
прозрачное приложение, такое как Photoshop или Illustrator.
отображает с прозрачным фоном. Однако при открытии с
Приложение, как Adobe Reader, файл отображается на белом фоне.
Я считаю, что это больше связано с приложением рендеринга PDF
чем с самим PDF - приложения, такие как Adobe Reader предполагают, что вы хотите видеть
как будет выглядеть напечатанный документ, и поэтому всегда будет отображаться белый
холст за работой - но я не уверен.
Используемая мной команда gs:
gs -dNOPAUSE -dBATCH -sDEVICE=pngalpha -r72 -sOutputFile=test.png test.pdf
Это создает PNG с прозрачными пикселями за пределами ограничительной рамки.
обложки в файле, но все пиксели, которые находятся внутри обложки
ограничительные рамки растеризуются на белом фоне. Это проблема
для меня, так как моя работа имеет тени и сглаженные края, которые должны быть
сохраняется в окончательном выводе и не может быть просто обработан с помощью
ImageMagick. Пример моего вывода PNG находится в том же месте, что и вышеупомянутый pdf, с .png в конце (stackoverflow не позволит мне включить более одного URL в моем сообщении).
Интересно, что я не вижу никаких эффектов от использования флага -dBackgroundColor, даже
если я установлю что-то не белое, например -dBackgroundColor = 16 # ff0000. возможно
мое понимание синтаксиса этого флага неверно.
Также интересно, что я не вижу эффектов от использования -dTextAlphaBits = 4
-dGraphicsAlphaBits = 4 флага, чтобы попытаться включить субпиксельное сглаживание. я мог бы
также ценим любые советы о том, как включить сглаживание на субпикселях,
особенно по тексту.
Наконец, я использую GPL Ghostscript 8.64 в Mac OS 10.5.7 и рендеринг
Рабочий процесс, который я пытаюсь настроить, заключается в создании прозрачных изображений PNG из
PDF выводится PrinceXML. Я вызываю Ghostscript напрямую для растеризации вместо использования ImageMagick, потому что ImageMagick делегирует Ghostscript для растеризации PDF, и я должен иметь возможность лучше контролировать растеризацию, напрямую вызывая GS.
Спасибо за вашу помощь.
- Джон Вулф