我试图拦截从重定向端口(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();
}
}
}
我;我只是尝试将文本传递给应用程序。因此,我使用的过程是winprint并设置为文本。
由于
答案 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 };