尝试使用 GhostScript 打印 PDF
Trying to print PDF using GhostScript
我正在尝试使用 ghostscript 打印 PDF 文档。我正在使用 GHOSTPRINT.NET 包装器。我已经能够将输出发送到打印机,但它仍然停留在假脱机状态。不确定它是否与我正在使用的开关或文件本身有关。任何帮助将不胜感激。这是代码:
public static void PrintFormPdfData(byte[] formPdfData, string printer)
{
string tempFile;
tempFile = Path.GetTempFileName();
using (FileStream fs = new FileStream(tempFile, FileMode.Create))
{
fs.Write(formPdfData, 0, formPdfData.Length);
fs.Flush();
}
using (GhostscriptProcessor processor = new GhostscriptProcessor())
{
List<string> switches = new List<string>();
switches.Add("-empty");
switches.Add("-dPrinted");
switches.Add("-dBATCH");
switches.Add("-dNOPAUSE");
switches.Add("-dNOSAFER");
switches.Add("-dNumCopies=1");
switches.Add("-sDEVICE=mswinpr2");
switches.Add("-sOutputFile=%printer%" + printer);
switches.Add("-f");
switches.Add(tempFile);
processor.StartProcessing(switches.ToArray(), null);
}
}
如果我是你,我会从命令行使用命令 shell 和 运行 Ghostscript 开始。
如果这不起作用,那么我们可以更进一步,但目前您实际上是在同时寻求 2 个不同组件的帮助,Ghostscript 和 Ghostscript.NET C# 包装器。理想情况下,您首先需要弄清楚问题出在哪里,如果它在命令 shell 下有效,那么它与 Ghostscript.NET 有关。如果不是,则与 Ghostscript 有关。
请注意,尾随的“-f”可能是部分问题。你不需要它,除非你 :
a) 使用 -c 开关引入 PostScript 和
b) 打算用更多的选项来遵循它。
我正在尝试使用 ghostscript 打印 PDF 文档。我正在使用 GHOSTPRINT.NET 包装器。我已经能够将输出发送到打印机,但它仍然停留在假脱机状态。不确定它是否与我正在使用的开关或文件本身有关。任何帮助将不胜感激。这是代码:
public static void PrintFormPdfData(byte[] formPdfData, string printer)
{
string tempFile;
tempFile = Path.GetTempFileName();
using (FileStream fs = new FileStream(tempFile, FileMode.Create))
{
fs.Write(formPdfData, 0, formPdfData.Length);
fs.Flush();
}
using (GhostscriptProcessor processor = new GhostscriptProcessor())
{
List<string> switches = new List<string>();
switches.Add("-empty");
switches.Add("-dPrinted");
switches.Add("-dBATCH");
switches.Add("-dNOPAUSE");
switches.Add("-dNOSAFER");
switches.Add("-dNumCopies=1");
switches.Add("-sDEVICE=mswinpr2");
switches.Add("-sOutputFile=%printer%" + printer);
switches.Add("-f");
switches.Add(tempFile);
processor.StartProcessing(switches.ToArray(), null);
}
}
如果我是你,我会从命令行使用命令 shell 和 运行 Ghostscript 开始。
如果这不起作用,那么我们可以更进一步,但目前您实际上是在同时寻求 2 个不同组件的帮助,Ghostscript 和 Ghostscript.NET C# 包装器。理想情况下,您首先需要弄清楚问题出在哪里,如果它在命令 shell 下有效,那么它与 Ghostscript.NET 有关。如果不是,则与 Ghostscript 有关。
请注意,尾随的“-f”可能是部分问题。你不需要它,除非你 :
a) 使用 -c 开关引入 PostScript 和 b) 打算用更多的选项来遵循它。