使用redmon将打印机输出重定向到C#应用程序

时间:2016-08-20 02:24:21

标签: c# redirect printing redmon

我试图拦截从重定向端口(Redmon)到C#应用程序的内容,以便我可以处理它。现在我只想弄清楚如何将输出传递到我的应用程序..我以为我可以通过标准输入输入它,但它不起作用。在一个cumand系列中,我可以将文本传输到我的应用程序中,但是如果我尝试通过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并设置为文本。

由于

1 个答案:

答案 0 :(得分:0)

您可以这样阅读:

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 };