直接从php5/javascript webapp打印

直接从php5/javascript webapp打印,javascript,php,ajax,printing,Javascript,Php,Ajax,Printing,我一直在到处搜索,阅读了大量只适用于php4的过时帖子,所以如果你第一眼就认为这是一个重复的问题,我很抱歉 我开发了一个webapp,我需要用户能够直接打印到打印机上,而无需打开新页面或显示默认浏览器窗口 换句话说,我希望能够从我的webapp中模仿原生打印功能 我知道php5是一种服务器端语言,所以可能无法使用php与用户打印机交互,所以我的问题是 是否有任何软件/小代码可以公开要RESTfull调用的打印机列表 例如,我的客户将在他的计算机上安装/运行一个小软件,然后该应用程序将收听post

我一直在到处搜索,阅读了大量只适用于php4的过时帖子,所以如果你第一眼就认为这是一个重复的问题,我很抱歉

我开发了一个webapp,我需要用户能够直接打印到打印机上,而无需打开新页面或显示默认浏览器窗口

换句话说,我希望能够从我的webapp中模仿原生打印功能

我知道php5是一种服务器端语言,所以可能无法使用php与用户打印机交互,所以我的问题是

是否有任何软件/小代码可以公开要RESTfull调用的打印机列表

例如,我的客户将在他的计算机上安装/运行一个小软件,然后该应用程序将收听post X

javascript可以使用
$调用此应用程序。例如,ajax
调用 获取请求:显示可用打印机的列表。 POST请求:将携带pdf、img、html、文本或任何格式(我可以使用php根据应用程序的要求格式化数据)数据,应用程序将直接在POST请求中规定的用户默认打印机/特定打印机上打印

此类软件的一个示例由实现

所以我想要同样的东西,但打印机不是mysql服务器:)

它存在吗?如果不是的话,用什么语言来编写这样的迷你服务器代码呢?从哪里开始


非常感谢

许多HP打印机支持ePrint,这是一项服务,您可以通过电子邮件将文件发送到打印机,而无需通过操作系统或操作系统打印机驱动程序即可打印文件。它可以接受HTML、DOC、PDF、XLS、JPG以及其他一些格式

我们已经构建了web应用程序,用户可以在其中提供打印机的电子邮件地址。然后我们生成一个PDF,并通过电子邮件将PDF发送到他们的打印机

谷歌还提供CloudPrint,它确实为打印机提供了一个RESTful界面,但我不太清楚如何识别打印机,以及用户如何告诉应用程序他们的打印机的端点是什么


(免责声明:我为HP工作,但我与从事ePrint或打印机的人员没有关联。)

由于他们在本地网络上,但不在Internet上,因此您可以使用端口9100,这是默认的网络端口

这里有一点关于直接写入的信息:

更简单的方法是在Linux设备(可能是服务器)上配置CUPS,这样就可以获得打印机的本地表示,然后可以通过网络将打印作业发送到打印机

此外,我认为HP打印机支持端口631上的Internet打印协议:


大约15年前,我参与了一个项目,该项目将接收Postscript中的网络打印作业(允许整个组织使用HP Postscript 5通用驱动程序),接受任何打印机名称的作业……但打印机名称将是目标打印机的IP地址。然后我们将通过端口9100查询以找到模型,使用Ghostscript将postscript呈现为该模型的适当打印机语言,然后发送9100。所以可以做一些非常复杂和动态的事情,尽管15年后的今天,我不记得确切的细节了

在IE上,activeX可以做到这一点。但我不会用一根十英尺长的杆子去碰它。否则您应该编写一个浏览器扩展。@Mouser谢谢您的提示,但是我宁愿使用一个本机应用程序,而不管客户端使用的是什么浏览器。ty作为您的答案,我正在搜索一个在本地主机脱机网络上工作的解决方案。事实上,我们的打印机是hp无线打印机,但ePrint需要internet连接,而internet连接不可用。如果它们位于本地网络上,您可以使用端口9100。