【问题标题】:GhostScript printing ParametersGhostScript 打印参数
【发布时间】:2013-12-02 10:03:29
【问题描述】:

我在尝试使用 Ghostscript 在 Windows 中打印 PDF 文件时遇到很大问题。 'in Windows' 参数来自于我正在尝试为这个'-sDEVICE=mswinpr2' 使用 MS Windows 默认驱动程序。我需要所有 Windows 打印机/驱动程序支持。我也不能使用 PDF 到图像然后打印作业类型的解决方案。我也不能使用 gswin64c.exe 文件,我需要在没有任何弹出窗口(没有任何形式)的情况下完成这项工作。我所能做的就是向 gsdll32.dll 发送一些参数并创建一个打印作业。

我正在使用 C# 包装器 https://github.com/mephraim/ghostscriptsharp/tree/master

我正在发送以下参数:“-dBATCH -dNOPAUSE -dNOPROMPT -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -dFIXEDMEDIA -dPDFFitPage -sDEVICE=mswinpr2 -dQUIET -sOutputFile=\"%printer%Epson Stylus Pro 4900\" D :\1.pdf"

而且每次打印机选择对话框都会不断弹出。我知道参数的顺序很重要......因为我改变了它并且它有不同的结果。

实际问题: 我必须向 GhostScript dll 发送哪些参数,以便我可以使用默认的 MS Windows 打印驱动程序打印 PDF 文件。

【问题讨论】:

    标签: c# pdf printing ghostscript ghostscriptsharp


    【解决方案1】:

    您是否尝试过使用 GS 的命令行版本而不是 DLL 或 C# thingy?我建议你先集中精力让它发挥作用。

    打印机的名称是什么(在 Windows 中显示)?

    您使用的是什么版本的 Ghostscript?

    尝试使用不带“-dBATCH”、“-dNOPAUSE”、“-dNOPROMPT”、“-dQUIET”的命令行。这样,如果 Ghostscript 试图告诉你一些事情,你就不会忽略或错过它。

    如果命令行有效,那么;我看到您已经转义了 " 字符,但没有转义 '%',您可能想要转义这些字符,或者将它们加倍。根据您的这个包装器的工作方式,它们可能会被读取为格式说明符。

    【讨论】:

      【解决方案2】:

      命令行中使用的参数首先在命令行版本gswin64c.exe(64位操作系统)中验证过,运行正常。

      我使用的是 GS 版本 9.10(最新版本)。

      我尝试了不同的参数组合,有或没有其中一些...相同的结果...-100 退出代码(一般错误,没有说明导致它的错误)。

      那个 % 字符似乎没有问题...我会尝试更多的东西。

      感谢肯的帮助

      【讨论】:

        【解决方案3】:

        就打印机对话框弹出窗口而言,如果将“mswinpr2”替换为兼容的设备名称,例如 ljet4,则提示将消失。我的猜测是您的计算机必须安装了不止一台打印机,因此 Windows 会提示您从列表中选择一台。

        【讨论】:

          猜你喜欢
          • 2017-11-24
          • 1970-01-01
          • 2018-11-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多