POS:获取一个网站,直接打印到已定义的本地打印机

我有一个网站运行票房服务,发行票证和报告。 我试图找出如何获得直接发送到本地/客户端PC上的指定打印机的票证(当前为PDF)。

我已经关注了许多旧的/死的/无用的链接,并没有找到任何最新的解决方案,虽然许多诱人的希望闪烁。

场景是这样的:远程托管网站 – 连接了1个或更多用户 – 网页生成票证(PDF),静默发送到用户PC(而不是默认打印机)上的指定打印机(无需额外点击打印提示) )。

我知道PHP没有连接到客户端PC,但有没有办法让网页(或许通过jQuery)连接到已安装的脚本/服务?

我认为本地PC上的脚本(建立可信链接,设置要使用的打印机等)将从Web服务器接收数据/文件,然后只要它在每台机器上的相同位置处理它。 然后可以将此(本地)脚本添加到需要运行该服务的任何PC。 该工作需要由正在发送的文件触发,并且没有脚本/服务,该脚本/服务每隔几秒钟就会轮询一个位置。

任何指针都将非常感激。

编辑:我已经尝试过jZebra java applet,但只是在打破之前打印了一次。 感兴趣,如果有人真正让它工作(以及如何)。

我最近自己遇到了同样的问题。 谷歌浏览器具有所谓的“自助服务终端”模式。 因此,它将打印而无需用户干预。

要执行此操作,请使用以下命令打开Goog​​le Chrome(您需要找到适用于* nix计算机的chrome可执行文件或chrome命令):

chrome.exe "http://www.example.com/mypage.php" --kiosk --kiosk-printing 

这将打开一个没有任何工具栏,地址栏,多function框等的窗口。

接下来,您需要打印页面。 为此,自动打开打印对话框(为了演示,我将使用简单的Javascript):

  

在跳转到开发环境之前, window.print()不允许任何参数(即URL)。

此代码打开一个打印对话框。 但是,在信息亭模式下,将绕过打印对话框,页面将自动打印到默认打印机。

现在你提到了一个PDF,很有可能,你通过PHP生成它(如果你打印已发布/生成的文件),你可能会想“哦,我不能把HTML放在PDF中来执行javascript”。 你不需要! 要解决打印正确页面的问题,请按以下步骤操作:

将以下内容插入到用户发送到的HTML / PHP页面中(对于此解决方案,用户无需访问.pdf ),在登录/成功页面的中:

  

如果页面中有上述代码,则执行window.print(); ,它将打印上面指定的页面。 如果您不在本地保存PDF,则可以将其放在临时目录中,该目录以基于时间或基于操作的计划清除(以某种方式超出此问题的范围),以防止磁盘空间累积。

请记住以下几点:

  • Kiosk模式没有退出按钮。 要退出,请按ALT + F4
  • 在自助服务--kiosk模式下打印时,您需要--kiosk --kiosk-printing 。 打印参数需要 --kiosk参数。
  • 在自助服务终端模式下打印时,打印对话框出现然后突然消失是正常的。 没有高级窗口分层等等,就无法阻止它。

我确信其他浏览器具有类似的function可以绕过打印对话框,但是,我发现Google Chrome在此类function中效果最佳。 如果您在Linux计算机上,Google有一个.deb文件,您可以使用命令sudo dpkg -i (package / downloaded .deb file path)在Linux上安装Google Chrome。 Chromium – 可能 – 支持这种function。 据我所知,它应该。

如果您需要其他帮助,请在下面的评论中留下您的问题,我会尽快回复。

我希望我帮忙。 如果我这样做,请随时给我左边的绿色支票。 ;)