我正在尝试拦截从重定向端口 (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();
}
}
}
我只是尝试将文本也传递给应用程序。所以我正在使用的进程是 winprint 并设置为文本。
谢谢
最佳答案
你可以这样读:
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 };
关于c# - 使用 redmon 将打印机输出重定向到 C# 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39049875/