使用 Ghostscript.NET 包装器打印 PDF - 空白页
Posted
技术标签:
【中文标题】使用 Ghostscript.NET 包装器打印 PDF - 空白页【英文标题】:Printing PDF with Ghostscript.NET wrapper - Blank pages 【发布时间】: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
。
【参考方案1】:
我真的怀疑你想把-c
放在你的命令行中;它引入了 PostScript 程序序列。假设您的文件是 PDF 文件,您真的不想这样做。即使它是 PostScript 程序,通常也会导致 Ghostscript 将文件 name(而不是内容)视为 PostScript 程序,我预计会产生错误。
确实,当我从命令行尝试时,它会引发错误。我不知道 Ghostscript.NET 会有什么影响。
我建议您不要使用-dNOSAFER
,因为它会绕过所有安全性。当然,您可能知道您正在打印的所有文件的出处,在这种情况下它是安全的。但我还是不明白你为什么要使用它。
【讨论】:
谢谢。不幸的是,尽管我删除了 -c 和 -dNOSAFER 命令,但这并没有奏效。总是,我最初打印 2 个空白页,然后进行实际打印。请问有其他的想法吗? 这很难说,因为我没有你的打印机,也没有你的 PDF 文件可供查看。以上是关于使用 Ghostscript.NET 包装器打印 PDF - 空白页的主要内容,如果未能解决你的问题,请参考以下文章