2010-05-13 50 views
0

我需要使用水晶報表打印在asp.net應用程序中生成的PDF。打印完成後,數據庫表會以「打印」狀態進行更新。我們如何處理打印機缺紙的情況?asp.net - pdf打印狀態

我知道這是在客戶端,那麼處理類似問題的正確方法是什麼?

TIA

回答

2

在打印完成客戶端和用戶機進行處理,您將無法訪問這些信息。

展開後回答

要在註釋擴大。這種類型的事情發生的流程如下。

  1. ASP.NET文件發送給客戶端(你控制)
  2. 在瀏覽器中打開客戶端的默認應用程序文件(瀏覽器控件)
  3. 默認的應用程序顯示文件(應用程序控制)
  4. 用戶選擇從現在開始3天打印文檔,也許現在,也許(應用控制)
  5. 應用程序發送該請求到打印機和完成(應用程序功能)
  6. 的印刷實際上系統打印文檔,如果失敗,它將通知用戶(打印系統控制)

所以,你可以看到,不僅是你曾經從你的ASP.NET應用程序斷開你實際上如果Acrobat中的外你想得到一個「真」的結果。例如,如果您在Microsoft Word中打印文檔並且打印機缺紙,誰通知您?不是Microsoft Word,而是打印後臺處理程序系統。

+0

因此產生額外的信息,有什麼解決辦法? – SoftwareGeek 2010-05-13 02:13:45

+0

不可能知道客戶端通過webrequest收到的PDF是如何處理的。您只能在數據庫中記錄PDF是*最可能* *交付給他們的。很可能是因爲他們可能已經開始下載PDF並可能關閉瀏覽器。 – 2010-05-13 02:40:16

+1

@bhejaFry - ASP.NET沒有辦法獲取這些信息,但沒有任何解決方法。詹姆斯的解決方案可能會讓你分開,但即使如此,它只是一個不打印的開幕通知,並且肯定是不成功的打印。甚至像word這樣的應用程序也不知道它是否成功打印。 – 2010-05-13 18:58:56

0

如果你是在一個可信的環境,制定出的隱私問題,你的PDF文件可以設計,當它打開incremement計數器或設置一個標誌,你的asp.net應用程序或Web服務交互。

有一個公司,提供這種服務,但你也許可以想出其他的PDF渲染工具自己的解決方案。

http://www.readnotify.com/readnotify/pmdoctrack.asp

Adobe Acrobat SDK

+0

我很想知道這是如何工作的。在Adobe Acrobat中,我有「除非明確允許,PDF文件不能發送信息到互聯網」默認情況下。 – 2010-05-13 04:08:58