【发布时间】:2016-04-28 10:11:13
【问题描述】:
我正在开展一个网络项目,我需要在该项目中能够直接与客户的打印机进行通信。客户通过浏览器使用我的应用程序,并希望能够单击按钮不间断地打印票证,这意味着浏览器不会弹出打印机对话框。这一要求消除了许多将信息发送到客户打印机的传统方式,并且因为我想要一个可以在任何浏览器上运行的解决方案,所以使用 VBSCRIPT 或其他依赖于浏览器的解决方案的解决方案将不起作用。
我对这个问题的最初解决方案是创建一个 Java 小程序,当单击“打印”按钮时,它会动态加载到页面中。但是,Chrome 和即将推出的 Firefox 等浏览器正在取消对 NPAPI 的支持,这会破坏我的 Java 插件。
我正在研究的当前解决方案是在 C# 中创建一个服务,用户将其安装在本地计算机上,然后当客户单击“打印”按钮时,我的服务器直接与该服务通信。这样我就可以绕过浏览器的限制,并且在客户机器上运行的服务将拥有与目标打印机通信的完全访问权限。这种方法的缺点是用户现在必须在他们的机器上安装一些额外的软件,并且对于他们希望访问我的应用程序并从中打印的每台机器,该机器需要配置正确的端口转发和防火墙设置.我可以为我当前的客户完成这项工作,但对于未来的客户来说,这变得很麻烦。此外,我的新方法目前只支持 Windows 机器,如果未来的客户使用 OS X 或 Linux,我将需要移植该服务。
以前有没有人遇到过这个问题,或者对于如何与独立于浏览器的客户端打印机进行通信有任何想法?
【问题讨论】:
标签: printing cross-browser cross-platform