原始数据打印,无需来自PHP / JAVASCRIPT的对话框

Raw Data Printing without dialog from PHP / JAVASCRIPT

本文关键字:PHP JAVASCRIPT 对话框 打印 原始数据      更新时间:2023-09-26

我目前正在为客户端的 PHP Web 应用程序添加功能。他们要求能够直接从php将一些原始数据打印到票据/热敏打印机,该打印机将从自助服务亭在互联网浏览器上运行。

数据需要打印在内置票据打印机中的本地信息亭上。

从我的初步研究中,我知道我必须使用 javascript 执行此任务以进行任何客户端操作,并想知道是否有人知道任何方法或示例函数允许将字符串打印到指定的打印机/COM 端口,这将绕过打印机对话框?

提前感谢您的任何帮助

亚历克斯

这个插件需要Java安装客户端,但是在第一个安全提示之后,这将完成你需要的(适用于Linux,Mac,Windows,Solaris - 任何可以运行Java桌面应用程序的东西)

https://github.com/qzind/tray

如果它必须跨浏览器和平台独立,请立即停止并运行。没有办法,我的意思是Javascript无法访问有关打印机,边距,纸张大小和打印机中所有变量的信息。即使您的浏览器有某种快速打印按钮,使用默认设置和默认打印机打印,您也不知道纸张的类型、墨水、边距等,您可能在 A4 纸上打印,或者在美国,我们的法定尺寸为 8.5 英寸 X 11.5 英寸。

为了安全起见,浏览器不会向 javascript 提供任何访问 Windows API 和打印机驱动程序提供给它们的此信息的权限。据我所知,最接近的可能是在小型网络中,其中变量是已知的,并使用Internet Explorer的JScript或ActiveX进行配置。除此之外,您唯一的其他简单选择是编写自己的 Web 浏览器/插件/插件,或者修改将在这些平台上运行的具有此内置功能的浏览器/插件。

更多信息可在此处获得。

编辑:虽然如果你真的想让你的生活变得简单,告诉他们安装Firefox,并查看这篇文章以获得最简单的解决方案。另外,您是否考虑过 VBScript?它具有此功能,我以前见过它。

不可能,至少没有一些额外的步骤。

在不了解有关展台环境的更多信息的情况下,您有三个主要选项:

1). 在本地展台上安装 Web 服务。 此 Web 服务将管理打印,并最终成为最可扩展的解决方案。

2). 为打印服务创建插件。 这会更丑陋,并且真的会永远将您绑定到单个浏览器解决方案。

3). 将浏览器包装在自定义代码中以允许外部调用。 同样,有点丑陋,但由于您正在运行一个信息亭,因此无论如何您都可能拥有某种自定义/可扩展的包装器。