2012-04-20 69 views
0

除了我的问题在这里被打印:How to catch printing jobs阅读的文档使用C#

我设法抓住PrintSystemJobInfo对象,创建打印作业时,通过使用下面的代码进入队列:

public static void WritePrinterJobs() 
    { 
     List<PrintSystemJobInfo> jobInfos = new List<PrintSystemJobInfo>(); 

     LocalPrintServer server = new LocalPrintServer(); 

     while (true) 
     { 
      foreach (var jobInfo in server.DefaultPrintQueue.GetPrintJobInfoCollection()) 
      { 
       Console.WriteLine(jobInfo.JobName); 
      } 

     } 
    } 

现在,我想阅读正在打印的条形码的内容。有没有办法做到这一点?

+0

虽然我不确定该流的格式是什么,但您可能使用PrintSystemJobInfo.JobStream属性来获取打印作业流。 – 2012-04-20 06:45:12

+0

我试图做到这一点,但它返回一个空引用。你确定JobStream是要走的路吗? – 2012-04-20 06:48:46

回答

1

我找到了解决方案。使用C#和.NET读取打印文档看起来非常痛苦,现在没有简单的方法。

某些开发人员使用名为PrintMulti的软件。你可以找到它here,它也是免费的!它只需要阅读一些文档并进行一些配置。您可以阅读内容,将文档发送到其他打印机等。该软件随附文档。

+0

谢谢Mert指导正确的方向。我尝试使用[ActionTextExtract]任务,但没有使用scccess。我没有看到任何提取到输出文本文件。你的情况是否成功?如果你还记得的话,任何关于此的提示都将是真正的帮助。 – 2012-08-18 08:46:17

+0

对不起,我不记得那些细节,但我可以说它对我有用。我只能告诉你,如果你做得对,它很可能会工作。 – 2012-08-30 17:44:26