Создание документа в формате Postscript с помощью C # - PullRequest
3 голосов
/ 08 декабря 2010

Есть ли API, доступный для записи непосредственно в формат postscript с помощью C #?В настоящее время я использую pdfnet, чтобы написать документ в pdf, а затем использую Adobe, чтобы экспортировать его в postscript.Однако качество теряется во время преобразования, и мне нужно перейти непосредственно к postscript и пропустить создание pdf.

Документ содержит изображение с наложенным поверх него текстом.

Ответы [ 3 ]

1 голос
/ 08 декабря 2010

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

1 голос
/ 12 ноября 2012

Вы знаете, как использовать файлы в C #, верно?Очень простой способ сделать это состоит в том, чтобы ваша программа просто создала новый ofstream или как бы его ни называл C #, назвала бы его what.ps и просто добавила в файл строки.Его действительно довольно легко освоить, хотя я бы порекомендовал получить печатную копию справочника Postscript Language Reference, если вы собираетесь делать это таким образом.Даже если вы можете получить электронную версию бесплатно, она на самом деле не так полезна, как печатная копия, если у вас не более одного монитора.

Например, для рисования 1 "квадрата с центром в серединепортретно-ориентированный лист бумаги размером с букву в C ++, я бы сделал что-то вроде:

myFile << "%!PS-Adobe-2.0 \n" //header block
       << "%%Creator: INSERT YOUR NAME HERE \n"
       << "%%Title: FILENAME.ps \n"
       << "%%Pages: 1 \n"
       << "%%PageOrder: Ascend \n"
       << "%%BoundingBox: 0 0 612 792 \n"
       << "%%DocumentPaperSizes: Letter \n"
       << "%%EndComments \n"

myFile << "<< /PageSize [612 792] >> setpagedevice \n" //page setup
       << "396 306 translate \n" //set (0,0) to center of page

myFile << "-36 -36 72 72 rectfill \n" //the rectangle at last!

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

0 голосов
/ 08 декабря 2010

Cairo Graphics - http://www.cairographics.org/ кажется возможным вариантом.Имеет привязки к C # /. NET и MONO.

...