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