0

我正在使用 Ghostscript.NET 包装器打印 PDF 文件。打印工作正常,但实际打印前出现 2 个空白页。请问有人可以帮我吗?我对以下代码做错了吗?顺便说一句,我们的打印机很小,它是用来打印条形码的。

Dim processor As Ghostscript.NET.Processor.GhostscriptProcessor = New Ghostscript.NET.Processor.GhostscriptProcessor()
        
Dim switches As List(Of String) = New List(Of String)
switches.Add("-empty")
switches.Add("-dPrinted")
switches.Add("-dBATCH")
switches.Add("-dNOPAUSE")
switches.Add("-dNOSAFER")
switches.Add("-dDEVICEHIGHTPOINTS=85")
switches.Add("-dDEVICEWIDTHPOINTS=90")
switches.Add("-dFIXEDMEDIA")
switches.Add("-dPDFFitPage")
switches.Add("-sDEVICE=mswinpr2")
switches.Add(Convert.ToString("-sOutputFile=%printer%") + _printerName)
switches.Add("-c")
switches.Add(_pdfFile)
processor.StartProcessing(switches.ToArray(), Nothing)
4

1 回答 1

0

我真的怀疑你想-c输入你的命令行;它引入了 PostScript 程序序列。假设您的文件是 PDF 文件,您真的不想这样做。即使它是 PostScript 程序,这通常会导致 Ghostscript 将文件(而不是内容)视为 PostScript 程序,我希望这会产生错误。

事实上,当我从命令行在这里尝试时,它会引发错误。我不知道 Ghostscript.NET 会产生什么影响。

我建议您不要使用-dNOSAFER它,因为它会绕过所有安全性。当然,您可能知道正在打印的所有文件的出处,在这种情况下它是安全的。但我仍然不明白你为什么要使用它。

于 2020-08-03T10:08:00.437 回答