使用Ghostscript创建后打开PDF

时间:2014-05-22 08:01:03

标签: pdf printing ghostscript

我使用ghostscript创建了虚拟PDF打印机,如此处所述http://www.stat.tamu.edu/~henrik/GSWriter/GSWriter.html 步骤进行:

  1. 安装ghostscript
  2. 安装redmon
  3. 将HP Color Laserjet 4550 PS打印机添加到重定向端口
  4. 打印机端口设置: 将此端口重定向到程序:
  5. C:\ Program Files \ gs \ bin \ gswin32c.exe

    该计划的论点是:

    @“C:\ Program Files \ gs \ pdfwrite.txt”-sOutputFile =“%1”-c .setpdfwrite -f -

    输出:

    Promt to filename

    执行命令

    隐藏

    1. 创建配置文件pdfwrite.txt:

       -I"C:\Program Files\gs\lib";"C:\Program Files\gs\fonts"
       -sDEVICE=pdfwrite
       -r600
       -dNOPAUSE
       -dSAFER
       -sPAPERSIZE=a4
       -dCompatibilityLevel=1.4
       -dPDFSETTINGS=/prepress
       -dAutoRotatePages=/PageByPage
      
    2. 一切正常,但我想在创建后自动打开创建的PDF文件。我怎么能这样做?

3 个答案:

答案 0 :(得分:0)

在这种情况下,RedMon负责控制流程,因此您必须修改RedMon以在转换后执行操作。

可能您可以修改Ghostscript的执行来代替运行批处理文件,让批处理文件执行Ghostscript,然后在新创建的文件上启动它。这样做的一个问题是你已经将属性设置为'提示文件名',我没有看到任何方法将文件名传递到外部批处理程序。注意;根据RedMon文档,您无法在Windows Server上执行此操作,因为运行cmd.exe时存在权限问题。

因此您需要修改RedMon应用程序,源代码应该从您下载RedMon的位置获得。

答案 1 :(得分:0)

  

可能你可以修改Ghostscript的执行来代替运行批处理文件,并让批处理文件执行Ghostscript然后   在新创建的文件

上启动它

多么棒的主意!

  

这个问题的一个问题是你已经将属性设置为'提示输入文件名',我没有看到任何方法将文件名传递给   外部批处理程序

很容易!见下文。

虚拟打印机端口设置:


将此端口重定向到该程序: C:\ Program Files \ gs \ pdfwrite.bat

此计划的参数是: “%1”

输出:提示输入文件名


然后我们创建pdfwrite.bat:


"C:\Program Files\gs\bin\gswin32c.exe" @"C:\Program Files\gs\pdfwrite.txt" -sOutputFile="%1" -c .setpdfwrite -f - 
"1"

然后...在任何应用程序中单击文件/打印,选择您的虚拟打印机,选择文件名和...欢呼! PDF文件已打开!

谢谢!

答案 2 :(得分:0)

我认为这是有用的一点修正。 在Windows 7上,我将批处理文件的最后一行作为"%1" (不简单" 1"), 然后它可以打开最后创建的pdf:

"C:\gs\gs9.15\bin\gswin32c.exe" @"C:\gs\pdfwrite.rsp" -sOutputFile="%1" -c .setpdfwrite -f - 
"%1"

再见。