如果我有一台打印机直接连接到电脑(带打印机的信息亭),我将如何创建网页(.net网络应用程序)打印jpg到信息亭打印机的能力,除了用户干预除了点击页面上的按钮?
如果您创建了一个托管Web浏览器控件的应用程序(而不是直接使用Web浏览器),则可以更直接地控制打印过程 .
(假设使用Windows IE是可能的)
这里有一些可能有用的示例文章:
Configure a WebBrowser Control
Using the Web Browser Control in your C# Applications
以及WebBrowser类的不断变化的MSDN文档,它具有Print方法 .
从打印方法备注:“您可以使用此方法实现类似于Internet Explorer中的打印按钮 . 此方法打印当前文档而无需进一步的用户输入 . ”
这已被问过好几次了,结果总是你无法通过普通的网络技术(HTML Javascript)来做到这一点 . 您可以做的最好的事情是打开打印对话框,这是设计的 . 自控制信息亭以来你可以做的是创建某种浏览器扩展(如flash对象,.Net托管控件,java applet等)并使其可用于你的页面,以便它为你处理打印部分 .
我用两种不同的方式解决了这个问题:
使用ActiveX
创建myprint:// PRINT_DATA等协议
其他注释涵盖了您要在Web浏览器的计算机上打印的方案 .
但是,如果要打印到连接到Web服务器的打印机(即运行Web应用程序的计算机),可以使用常规C#打印,并进行以下操作:http://support.microsoft.com/kb/184291/
在我的上下文中,我的自助服务终端同时运行Web服务器和Web浏览器,因此解决了我的问题 .
4 回答
如果您创建了一个托管Web浏览器控件的应用程序(而不是直接使用Web浏览器),则可以更直接地控制打印过程 .
(假设使用Windows IE是可能的)
这里有一些可能有用的示例文章:
Configure a WebBrowser Control
Using the Web Browser Control in your C# Applications
以及WebBrowser类的不断变化的MSDN文档,它具有Print方法 .
从打印方法备注:“您可以使用此方法实现类似于Internet Explorer中的打印按钮 . 此方法打印当前文档而无需进一步的用户输入 . ”
这已被问过好几次了,结果总是你无法通过普通的网络技术(HTML Javascript)来做到这一点 . 您可以做的最好的事情是打开打印对话框,这是设计的 . 自控制信息亭以来你可以做的是创建某种浏览器扩展(如flash对象,.Net托管控件,java applet等)并使其可用于你的页面,以便它为你处理打印部分 .
我用两种不同的方式解决了这个问题:
使用ActiveX
创建myprint:// PRINT_DATA等协议
其他注释涵盖了您要在Web浏览器的计算机上打印的方案 .
但是,如果要打印到连接到Web服务器的打印机(即运行Web应用程序的计算机),可以使用常规C#打印,并进行以下操作:http://support.microsoft.com/kb/184291/
在我的上下文中,我的自助服务终端同时运行Web服务器和Web浏览器,因此解决了我的问题 .