Конвертировать PDF в PostScript

Мне нужно преобразовать файл PDF в PostScript с помощью С#. Возможно ли это без использования сторонней DLL? Или есть проект с открытым исходным кодом для того же самого?


person TenB    schedule 16.08.2010    source источник
comment
Пожалуйста, проверьте мой ответ на stackoverflow.com/questions/3492129   -  person mosheb    schedule 20.08.2010
comment
Взгляните на PDFSharp. Это библиотека PDF с открытым исходным кодом под лицензией лицензии MIT.   -  person Chris Shouts    schedule 20.08.2010
comment
Если вам просто нужно преобразовать несколько файлов, вам подойдет этот онлайн-инструмент: ps2pdf.com.   -  person jp2code    schedule 18.12.2015


Ответы (3)


Самый «дешевый» способ сделать это (хотя я не буду давать свое определение «дешевого» в этом контексте) — это вызвать одну из утилит командной строки, которая может конвертировать PDF в PostScript:

  • gswin32c.exe (Win), gs (*nix): Ghostscript, многоплатформенная, лицензия GPL v3,.. .
  • pdftops.exe (Win), pdftops (*nix): часть XPDF от Foolabs, многоплатформенная , лицензия GPL v2,...
  • pdftops (*nix), из форка XPDF "poppler" (теоретически версию для Windows должно быть легко скомпилировать, но в сети нет очевидных мест, откуда можно взять готовые)

Вот примеры командных строк, сначала для Ghostscript, при условии, что Windows (кавычки для случаев, когда имена содержат пробелы):

 "c:/path/to/gswin32c.exe" ^
     -sDEVICE=ps2write ^
     -o "c:/path/to/OUTPUT.pdf" ^
     "c:/path/to/INPUT.pdf"

и второй для XPDF/pdftops (пропуская пути, при условии, что файлы находятся в текущем каталоге):

 pdftops.exe ^
     -level3 ^
     INPUT.pdf ^
     OUTPUT.ps
person Kurt Pfeifle    schedule 16.08.2010

Вам следует пересмотреть свои требования: интерпретация PDF — это огромная работа, если только PDF-файлы не имеют очень специфических форм.

person Ned Batchelder    schedule 16.08.2010

Я не думаю, что это можно сделать без стороннего приложения или компонента.

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

Подумайте о том, чтобы потратить немного денег на приличную конверсионную библиотеку. Я думаю, вы найдете эти деньги потраченными не зря.

Если вам нужен инструмент с открытым исходным кодом, загляните в ghostscript. Большинство «бесплатных» конвертеров PDF используют это.

person Marnix van Valen    schedule 16.08.2010
comment
Спасибо, Marnix. Можете ли вы предложить какие-либо подходящие библиотеки? - person TenB; 17.08.2010
comment
Для печати PDF из .NET (C#, VB и т. д.) вы можете использовать PDFRasterizer.NET от TallComponents (обратите внимание, что я работал в TallComponents). Я не знаю ни одной библиотеки, которая может выполнять прямое преобразование из PDF в PostScript. - person Marnix van Valen; 21.08.2010