【问题标题】:redirect printer output to C# application, using redmon使用 redmon 将打印机输出重定向到 C# 应用程序
【发布时间】:2016-12-27 06:06:10
【问题描述】:

我正在尝试将内容从重定向端口 (Redmon) 拦截到 C# 应用程序,以便处理它。现在我只是想弄清楚如何将输出传递到我的应用程序中。我以为我可以通过标准输入输入它,但它不起作用。在命令行中,我可以将文本通过管道传输到我的应用程序中,并且它可以工作,但是如果我尝试通过 redmon 端口打印,我的应用程序似乎没有接受输入。我设置 Redmon 让我的应用程序处理输出。这是我的代码和打印机端口设置的屏幕截图。

namespace titoprint
{
    class Program
    {
        static void Main()
        {
            int result;
            while ((result = Console.Read()) != -1)
            {
                Console.WriteLine("{0} = {1} ", result, (char)result);
            }
            Console.WriteLine("in console");
            MessageBox.Show("ok done!");
            Console.ReadLine();
        }
    }
}

`Port settings

我只是尝试将文本也传递给应用程序。所以我使用的过程是winprint并设置为文本。

谢谢

【问题讨论】:

    标签: c# redirect printing redmon


    【解决方案1】:

    你可以这样读:

    Stream content = Console.OpenStandardInput();
    
    using (BinaryReader standardInputReader = new BinaryReader(content))
    {
        using (FileStream standardInputFile = new FileStream(standardInputFilename, FileMode.Create, FileAccess.ReadWrite))
        {
            standardInputReader.BaseStream.CopyTo(standardInputFile);
        }
    }
    

    然后就可以转换成PDF了:

    String[] ghostScriptArguments = { "-dBATCH", "-dNOPAUSE", "-dSAFER",  "-sDEVICE=pdfwrite",String.Format("-sOutputFile={0}", outputFilename), standardInputFilename };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      相关资源
      最近更新 更多