перенаправить вывод принтера в приложение С#, используя redmon

Я пытаюсь перехватить содержимое из порта перенаправления (Redmon) в приложение С#, чтобы я мог его обработать. Прямо сейчас я просто пытаюсь понять, как передать вывод в свое приложение. Я думал, что могу просто ввести его через стандартный ввод, но он не работает. В командной строке я могу передать текст в свое приложение, и оно работает, но если я попытаюсь напечатать через порт 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();
        }
    }
}

`Настройки порта

Я только пытаюсь передать текст в приложение. Итак, процесс, который я использую, - это winprint и установлен в текст.

Спасибо


person Frank Jay    schedule 20.08.2016    source источник


Ответы (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 };
person Umidjon Mamajonov    schedule 01.01.2019