【问题标题】:Printing PDF with Ghostscript.NET wrapper - Blank pages使用 Ghostscript.NET 包装器打印 PDF - 空白页
【发布时间】:2020-08-03 08:35:23
【问题描述】:

我正在使用 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)

【问题讨论】:

  • 缺少一个E:应该是-dDEVICEHEIGHTPOINTS

标签: vb.net printing ghostscript ghostscript.net


【解决方案1】:

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

确实,当我从命令行尝试时,它会引发错误。我不知道 Ghostscript.NET 会有什么影响。

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

【讨论】:

  • 谢谢。不幸的是,尽管我删除了 -c 和 -dNOSAFER 命令,但这并没有奏效。总是,我最初打印 2 个空白页,然后进行实际打印。请问有其他的想法吗?
  • 这很难说,因为我没有你的打印机,也没有你的 PDF 文件可供查看。
猜你喜欢
  • 1970-01-01
  • 2014-02-23
  • 2021-01-04
  • 1970-01-01
  • 2017-12-09
  • 2015-05-18
  • 1970-01-01
  • 2018-11-20
  • 1970-01-01
相关资源
最近更新 更多