Как использовать AIC для загрузки PDF-файла и вывода Postscript на компьютере с Windows 2008? - PullRequest
2 голосов
/ 12 мая 2011

Как мне написать код, используя AIC (Acrobat Interapplication Communication), чтобы загрузить файл PDF и вывести эквивалентный файл Postscript? Используя Acrobat X в интерактивном режиме, я бы открыл файл, затем использовал меню Файл> Сохранить как ...> Дополнительные параметры ...> PostScript.

В идеале, я хотел бы сделать это из программы Windows Service без отображения какого-либо окна на консоли машины.

Я установил Acrobat X Pro и загрузил Acrobat SDK.

Я бы предпочел примеры кода в C #, но при необходимости я могу конвертировать из VB или C ++.

Ответы [ 3 ]

1 голос
/ 15 мая 2011

Для последней версии Ghostscript (версия 9.02) подходящей командной строкой будет:

gswin32c.exe ^
  -o output.ps ^
  -sDEVICE=ps2write ^
   input.pdf
1 голос
/ 16 мая 2011

Другой альтернативой для вас может быть вызов Acrobat Reader (или Professional?) С переключателями командной строки, чтобы он преобразовал ваш PDF в PostScript.В Linux (Ubuntu Natty) по крайней мере это то, что предлагает Acrobat Reader версии 9.4.2 (не уверен, что версия Windows предлагает точно такие же переключатели CLI):

kp@s42:~$  acroread -help
Usage: acroread [options] [list of files] 
Run 'acroread -help' to see a full list of available command line options.
------------------------

Options:
    --display=<DISPLAY>                                          This option specifies the host and display to use.
    --screen=<SCREEN>                                            X screen to use. Use this options to override the screen part of the DISPLAY environment variable.
    --sync                                                       Make X calls synchronous. This slows down the program considerably.
    -geometry [<width>x<height>][{+|-}<x offset>{+|-}<y offset>] Set the size and/or location of the document windows.
    -help                                                        Prints the common command-line options.
    -iconic                                                      Launches in an iconic state on the desktop.
    -info                                                        Lists out acroread Installation Root, Version number, Language.
    -tempFile                                                    Indicates files listed on the command line are temporary files and should not be put in the recent file list.  
    -tempFileTitle <title>                                       Same as -tempFile, except the title is specified.
    -toPostScript                                                Converts the given pdf_files to PostScript.
    -openInNewInstance                                           It launches a new instance of acroread process. 
    -openInNewWindow                                             Same as OpenInNewInstance. But it is recommended to use OpenInNewInstance. openInNewWindow will be deprecated.
    -installCertificate <server-ip> <server-port>                Fetches and installs client-side certificates for authentication to access the server while creating secured connections.
    -installCertificate [-PEM|-DER] <PathName>                   Installs the certificate in the specified format from the given path to the Adobe Reader Certificate repository.
    -v, -version                                                 Print version information and quit.
    /a                                                           Switch used to pass the file open parameters.


Forms of using -toPostScript
    -toPostScript [options] pdf_file ... [ps_dir]
    -toPostScript [options] -pairs pdf_file_1 ps_file_1 ...
    -toPostScript [options]
    Note: When using -toPostScript it must be the first argument passed in on the command line.

Valid options for the conversion of PDF to PostScript:

    -binary                                                      emit binary PostScript where possible.
    -start <int>                                                 identify the first page in the document to be converted (default is the first page of the document).
    -end <int>                                                   identify the last page in the document to be converted (default is the last page of the document).
    -optimizeForSpeed                                            emit PostScript such that all fonts are emitted once at the beginning of the document. 
    -landscape                                                   rotate the pages to print landscape.
    -reverse                                                     reverse the page order of the output.
    -odd                                                         emit only odd-numbered pages.
    -even                                                        emit only even-numbered pages.
    -commentsOff                                                 don't print comments.
    -annotsOff                                                   don't print annots.
    -stampsOff                                                   don't print stamps.
    -markupsOn                                                   print document and markups.
    -level2                                                      emit Level 2 PostScript.
    -level3                                                      emit Level 3 PostScript.
    -printerhalftones                                            use the printer default halftones.
    -saveVM                                                      download fonts as needed to preserve printer memory.
    -shrink                                                      shrink the pages to fit the page size.
    -expand                                                      expand the pages to fit the page size.
    -size <pagesize>                                             set the page size.
    -transQuality level                                          set the transparency flattening level. Value from 1-5.
    -printerName <name>                                          this is to print device-dependent PS.
    -rotateAndCenter                                             auto-rotate and center the pages.
    -choosePaperByPDFPageSize                                    use the pdf page size to determine the output tray.
    -nUp <hpage> <vpage> <pageorder> border rotate               print multiple pages on the same sheet of paper.
    -booklet <subset> <binding> rotate <from> <to>               prints multiple pages on the same sheet of paper in the order required to read correctly when folded.


For detailed description on the options please visit the manpage.
0 голосов
/ 13 мая 2011

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

...