【问题标题】:Trying to print PDF using GhostScript尝试使用 GhostScript 打印 PDF
【发布时间】:2017-02-08 21:56:06
【问题描述】:

我正在尝试使用 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);
        }
    }

【问题讨论】:

    标签: c# pdf ghostscript ghostscript.net


    【解决方案1】:

    如果我是你,我会从使用命令 shell 开始,然后从命令行运行 Ghostscript。

    如果这不起作用,那么我们可以更进一步,但目前您实际上是在同时寻求 2 个不同组件的帮助,Ghostscript 和 Ghostscript.NET C# 包装器。理想情况下,您需要首先确定问题出在哪里,如果它在命令 shell 中起作用,那么它与 Ghostscript.NET 有关。如果不是,那么它与 Ghostscript 有关。

    请注意,尾随的“-f”可能是问题的一部分。你不需要那个,除非你:

    a) 使用 -c 开关引入 PostScript 和 b) 打算跟随它有更多的选择。

    【讨论】:

    • 嗨,KenS,再次感谢您对 GS 的支持。我相信我的问题更多地与我尝试打印的数据有关,而不是 GS 或 GhostScript.NET。
    • 嗯,这当然是可能的。我仍然会从命令行尝试它。如果您认为它的输入值得怀疑,只需运行“gswin32 ”,它就会呈现到显示器上。至少应该告诉你输入文件是否正常。
    • 我正在使用 gswin32 "C:\TEMP\report.jpg" 命令行,但出现操作数错误。我将要打印的文件存储在该文件中。尝试打印位于该路径的文件的正确语法是什么?
    • 您不能简单地将 JPEG 文件发送到 Ghostscript。 Ghostscript 将接受 PostScript 和 PDF 作为输入,而不是 JPEG。您是否尝试打印 JPEG 文件?您的标题说您正在尝试打印 PDF .....
    • 我把它切换回打印 PDF 字节,你知道什么?它奏效了:) 谢谢 Ken 和 JHabjan。
    猜你喜欢
    • 1970-01-01
    • 2017-11-24
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 2015-07-19
    相关资源
    最近更新 更多