0

我需要使用水晶报表打印在 asp.net 应用程序中生成的 PDF。打印后,数据库表将更新为“已打印”状态。我们如何处理打印机缺纸的情况?

我知道这是在客户端,那么处理此类问题的正确方法是什么?

TIA

4

2 回答 2

2

打印在客户端完成并由用户机器处理,您将无权访问此信息。

扩展答案

扩展评论。此类事情发生的流程如下。

  1. ASP.NET 将文件发送到客户端(由您控制​​)
  2. 浏览器使用客户端的默认应用程序(浏览器控件)打开文件
  3. 默认应用程序显示文件(应用程序控件)
  4. 用户选择打印文档,可能是现在,也可能是 3 天后(应用程序控制)
  5. 应用程序将请求发送到打印机并完成(应用程序功能)
  6. 打印系统实际打印文档,如果故障 IT 通知用户(打印系统控制)

因此,正如您所看到的,如果您想获得“True”打印结果,您不仅与您的 ASP.NET 应用程序断开连接,而且您实际上是在 Acrobat 之外。例如,如果您在 Microsoft Word 中打印文档并且打印机用完纸,谁会通知您?不是 Microsoft Word,而是打印后台处理程序系统。

于 2010-05-13T02:10:02.560 回答
0

如果您处于受信任的环境中并且可以解决隐私问题,那么您的 pdf 文档可以设计为在打开时与您的 asp.net 应用程序或 Web 服务交互以增加计数器或设置标志。

有一家公司提供此服务,但您可能会使用其他 PDF 渲染工具提出自己的解决方案。

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

Adobe Acrobat SDK中的附加信息

于 2010-05-13T03:53:30.950 回答