0

我在尝试使用 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 文件。

4

3 回答 3

0

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

于 2014-01-24T18:02:47.560 回答
0

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

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

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

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

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

于 2013-12-02T14:23:22.273 回答
0

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

我正在使用 GS 版本 9.10(最新版本)。

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

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

感谢肯的帮助

于 2013-12-04T16:34:41.233 回答