【问题标题】:Sending Commands to a Remote Printer向远程打印机发送命令
【发布时间】:2016-04-28 10:11:13
【问题描述】:

我正在开展一个网络项目,我需要在该项目中能够直接与客户的打印机进行通信。客户通过浏览器使用我的应用程序,并希望能够单击按钮不间断地打印票证,这意味着浏览器不会弹出打印机对话框。这一要求消除了许多将信息发送到客户打印机的传统方式,并且因为我想要一个可以在任何浏览器上运行的解决方案,所以使用 VBSCRIPT 或其他依赖于浏览器的解决方案的解决方案将不起作用。

我对这个问题的最初解决方案是创建一个 Java 小程序,当单击“打印”按钮时,它会动态加载到页面中。但是,Chrome 和即将推出的 Firefox 等浏览器正在取消对 NPAPI 的支持,这会破坏我的 Java 插件。

我正在研究的当前解决方案是在 C# 中创建一个服务,用户将其安装在本地计算机上,然后当客户单击“打印”按钮时,我的服务器直接与该服务通信。这样我就可以绕过浏览器的限制,并且在客户机器上运行的服务将拥有与目标打印机通信的完全访问权限。这种方法的缺点是用户现在必须在他们的机器上安装一些额外的软件,并且对于他们希望访问我的应用程序并从中打印的每台机器,该机器需要配置正确的端口转发和防火墙设置.我可以为我当前的客户完成这项工作,但对于未来的客户来说,这变得很麻烦。此外,我的新方法目前只支持 Windows 机器,如果未来的客户使用 OS X 或 Linux,我将需要移植该服务。

以前有没有人遇到过这个问题,或者对于如何与独立于浏览器的客户端打印机进行通信有任何想法?

【问题讨论】:

    标签: printing cross-browser cross-platform


    【解决方案1】:

    没有可能的解决方案既支持 Chrome 又不需要在机器上安装某些东西;您不能在 Chrome 中运行与操作系统交互的任意代码。除了本地 Web 服务器之外,与其他代码交互的唯一方法是扩展中的本地消息传递,但这不能满足您的跨浏览器要求。

    【讨论】:

      【解决方案2】:

      由于安全原因,您无法直接通信。我还在 C# 中开发了 1 个用于远程打印的应用程序。 如果您的客户有远程打印机,有一种方法,那么您可以轻松地完成此任务,在服务器上制作小应用程序并与所有远程打印机集成,您可以从服务器执行打印机命令,打印将来自客户端打印机

      【讨论】:

        猜你喜欢
        • 2019-01-27
        • 1970-01-01
        • 2014-08-15
        • 1970-01-01
        • 2020-04-04
        • 2011-02-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多