2010-05-13 72 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