Создание PDF из PS программно на встроенной платформе

Существует ли библиотека / инструмент, который можно использовать в C / C ++ для преобразования файла PS (post-script) в файл .PDF на встроенной платформе (проприетарная операционная система, без окон, без Linux)?

Я искал какую-то библиотеку, которую можно было бы перенести на нашу ОС. Я нашел в основном только Ghostscript, но есть проблема с лицензией, если я правильно понял, мы должны были бы сделать наш источник общедоступным, что для нас невозможно …

Может быть, немного больше фона, мы пытаемся найти формат, который будет легко доступен для просмотра пользователем. У нас уже есть наш вывод в PS по другим причинам (принтер). Но теперь мы хотим предоставить этот вывод в файл самостоятельно, поэтому мы пытаемся найти подходящий формат файла. Мы рассматриваем сам PS, но обычный пользователь не имеет PS Viewer, поэтому я пытаюсь найти что-то, чтобы преобразовать это в PDF. Так что, возможно, альтернативный вопрос может быть, есть ли какой-то другой формат, который можно легко получить из PS, чтобы его мог просматривать «обычный» пользователь?

0

Решение

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

В отличие от PostScript, PDF не является языком программирования. При преобразовании PostScript в PDF (или что-либо еще) вам фактически нужно запустить программу PostScript и записать вызовы графических примитивов, выполненные во время выполнения программы PostScript.

Этот общий подход необходим, когда вы хотите конвертировать программы PostScript из любого источника в PDF.

Но вы написали, что вы сами создаете код PostScript. Возможно, ваша PostScript-программа представляет собой просто линейную последовательность вызовов примитивов для рисования и не использует ничего, кроме подпрограмм или управляющих структур.

В противном случае может быть легко изменить ваш генератор для выполнения тех вычислений во время создания, которые в настоящее время выполняются во время печати. Вы бы в конечном итоге в линейной последовательности вызовов для рисования примитивов.

Когда больше нет вычислений, выполняемых во время печати, не должно быть слишком сложно напрямую создавать PDF вместо PostScript. это ответ упоминает библиотеку генерации PDF с открытым исходным кодом, которая использует лицензию в стиле MIT.

1

Другие решения

Лицензия AGPL для Ghostscript потребует от вас сделать ваш исходный код открытым, да. Однако Ghostscript имеет двойную лицензию, в дополнение к лицензии AGPL вы можете приобрести коммерческую лицензию, для которой не требуется открывать исходный код.

Конечно, вместо преобразования в PDF вы также можете просто использовать Ghostscript для рендеринга PostScript в растровое изображение, что обычно довольно просто обернуть зрителем.

Я должен отметить, что есть другие компании, предлагающие коммерческие лицензии для переводчиков PostScript, которые способны создавать PDF-файлы и / или воспроизводить PostScript. Adobe является очевидным, есть также Global Graphics.

В наши дни на поле осталось не так много игроков, если вы хотите работать с PostScript, и AGPL или аналогичные лицензии вам не подойдут, тогда вам нужно будет выйти на коммерческую основу.

0

По вопросам рекламы [email protected]