从web应用程序打印到客户端打印机

Printing to a client printer from a web app

本文关键字:客户端 打印机 打印 web 应用程序      更新时间:2023-09-26

如果我有一台打印机直接连接到电脑(带打印机的售货亭),我该如何创建网页(.net web应用程序)的功能,在没有用户干预的情况下,只需点击页面上的按钮,就可以将jpg打印到售货亭打印机?

这个问题已经被问了好几次了,结果总是你无法通过普通的web技术(HTML+Javascript)来。你能做的最好的事情就是打开打印对话框,这就是设计。控制信息亭后,您可以创建某种浏览器扩展(如flash对象、.Net托管控件、java小程序等),并将其提供给您的页面,以便它为您处理打印部分。

我用两种不同的方法来解决这个问题:

  1. 使用ActiveX
  2. 创建一个协议myprint://PRINT_DATA

如果您创建了一个承载web浏览器控件的应用程序(而不是直接使用web浏览器),则可以更直接地控制打印过程。

(假设可以使用Windows+IE)

以下是一些可能有所帮助的示例文章:

配置WebBrowser控件

在C#应用程序中使用Web浏览器控件

以及具有Print方法的WebBrowser类的不断变化的MSDN文档。

打印方法备注:"您可以使用此方法来实现类似于Internet Explorer中的打印按钮。此方法打印当前文档,而无需进一步的用户输入。"

其他注释涵盖了要在web浏览器的计算机上打印的场景。

但是,如果您想打印到连接到web服务器的打印机(即运行web应用程序的机器),您可以使用常规的C#打印,并进行以下操作:http://support.microsoft.com/kb/184291/

在我的上下文中,我的信息亭同时运行web服务器和web浏览器,因此解决了我的问题。