Я пытаюсь, безуспешно, использовать 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 и рендеринг workflow Я пытаюсь настроить, чтобы генерировать прозрачные изображения PNG из PDF файлы, выпущенные PrinceXML. Я вызываю Ghostscript непосредственно для растеризации вместо использования ImageMagick, потому что ImageMagick делегирует Ghostscript для растеризации PDF, и я должен иметь возможность лучше контролировать растрирование, вызвав GS напрямую.
Спасибо за вашу помощь.
-Jon Wolfe