尝试使用 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) 打算用更多的选项来遵循它。