2012-04-20 67 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