我目前正在为客户端的 PHP Web 应用程序添加功能。他们需要能够直接从 php 将一些原始数据打印到票证/热敏打印机,该 php 将在自助服务亭的互联网浏览器上运行。
数据需要在本地信息亭的内置票据打印机上打印。
根据我的初步研究,我了解到我必须使用 javascript 执行此任务以执行任何客户端操作,并想知道是否有人知道任何方法或示例函数可以将字符串打印到指定的打印机/com 端口,从而绕过打印机对话框?
提前感谢您的帮助
亚历克斯
我目前正在为客户端的 PHP Web 应用程序添加功能。他们需要能够直接从 php 将一些原始数据打印到票证/热敏打印机,该 php 将在自助服务亭的互联网浏览器上运行。
数据需要在本地信息亭的内置票据打印机上打印。
根据我的初步研究,我了解到我必须使用 javascript 执行此任务以执行任何客户端操作,并想知道是否有人知道任何方法或示例函数可以将字符串打印到指定的打印机/com 端口,从而绕过打印机对话框?
提前感谢您的帮助
亚历克斯
此插件需要在客户端安装 Java,但在第一次安全提示之后,这将满足您的需求(适用于 Linux、Mac、Windows、Solaris——任何可以运行 Java 桌面应用程序的东西)
如果它必须跨浏览器和平台独立,请立即停止并运行。没有办法,我的意思是 Javascript 无法访问有关打印机、边距、纸张大小和打印机中所有变量的信息。即使您的浏览器有某种快速打印按钮,使用默认设置和默认打印机进行打印,您也不知道纸张类型、墨水、边距等,您可能在 A4 纸上或在美国打印,我们的法定尺寸,8.5" X 11.5"。
为安全起见,浏览器不会让 javascript 访问这些由 Windows API 和打印机驱动程序提供给它们的信息。我所知道的最接近的可能是在小型网络中,其中变量是已知的,并且使用 Internet Explorer 的 JScript 或 ActiveX 进行配置。除此之外,您唯一的其他简单选择是编写自己的网络浏览器/插件/插件,或者修改将在这些平台上运行的具有此内置功能的浏览器。
更多信息在这里。
编辑:虽然如果你真的想让你的生活变得简单,告诉他们安装 Firefox,并查看这篇文章以获得最简单的解决方案。另外,你考虑过 VBScript 吗?它有这个功能,我以前见过它。
不可能,至少在没有一些额外步骤的情况下是不可能的。
在不了解信息亭环境的更多信息的情况下,您有三个主要选择:
1)。在本地信息亭上安装 Web 服务。该 Web 服务将管理打印并最终成为最具扩展性的解决方案。
2)。为打印服务创建插件。这会更丑陋,并且真的将您永远绑定到一个单一的浏览器解决方案。
3)。将浏览器包装在自定义代码中以允许外部调用。同样,有点难看,但是由于您正在运行信息亭,因此无论如何您都可能拥有某种自定义/可扩展包装器。