开发者

How do I use AIC to load a PDF file and output Postscript on a Windows 2008 machine?

开发者 https://www.devze.com 2023-03-05 06:17 出处:网络
How do I write code using AIC (Acrobat Interapplication Communication) to load a PDF file and output the equivalent Postscript file?Using Acrobat X interactively, I would open the file, then use the m

How do I write code using AIC (Acrobat Interapplication Communication) to load a PDF file and output the equivalent Postscript file? Using Acrobat X interactively, I would open the file, then use the me开发者_运维知识库nu File > Save As... > More Options... > PostScript.

Ideally, I would like to do this from a Windows Service program without displaying any window on the machine console.

I have installed Acrobat X Pro and I have downloaded the Acrobat SDK.

I'd prefer code samples in C#, but I can convert from VB or C++ if needed.


For the latest version of Ghostscript (which is v9.02), a suitable commandline would be:

gswin32c.exe ^
  -o output.ps ^
  -sDEVICE=ps2write ^
   input.pdf


Another alternative for you may be to call Acrobat Reader (or Professional?) with commandline switches to have it convert your PDF to PostScript. On Linux (Ubuntu Natty) at least this is what version 9.4.2 of Acrobat Reader offers (not sure if the Windows version offers exactly the same CLI switches):

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.


Maybe it would be a better idea to use Ghostscript instead. In the simplest use case, a simple call to it as an external process with command line parameters will make the conversion for you - but there are several ways of getting better integration - up to creating a Postscript virtual printer.

0

精彩评论

暂无评论...
验证码 换一张
取 消