lxs*_*rks 3 php printing jquery local
我有一个运行票房服务的网站,它发行票证和报告.我试图弄清楚如何获得直接发送到本地/客户端PC上的指定打印机的票证(当前为PDF).
我已经关注了许多旧的/死的/无用的链接,并没有找到任何最新的解决方案,虽然许多诱人的希望闪烁.
场景是这样的:远程托管网站 - 连接了一个或多个用户 - 网页生成票证(PDF),它静默地发送到用户PC(而不是默认打印机)上的指定打印机(没有额外点击打印提示) ).
我知道PHP没有连接到客户端PC,但是有没有办法让网页(或许通过jQuery)连接到已安装的脚本/服务?
我认为本地PC上的脚本(建立可信链接,设置打印机使用等)将从Web服务器接收数据/文件,然后只要它在每台机器上的同一位置处理它.然后可以将此(本地)脚本添加到需要运行该服务的任何PC.工作需要由正在发送的文件触发,并且没有脚本/服务,每隔几秒钟就会轮询一个位置.
任何指针都将非常感激.
编辑:我已经尝试过jZebra java applet,但只是在打破之前打印了一次.有兴趣的话,如果有人真正让它工作(以及如何).
123*_*567 11
我最近自己遇到了同样的问题.谷歌浏览器具有所谓的"自助服务终端"模式.因此,它将打印而无需用户干预.
要执行此操作,请使用以下命令打开Google Chrome(您需要找到适用于*nix计算机的chrome可执行文件或chrome命令):
chrome.exe "http://www.example.com/mypage.php" --kiosk --kiosk-printing
Run Code Online (Sandbox Code Playgroud)
这将打开一个没有任何工具栏,地址栏,多功能框等的窗口.
接下来,您需要打印页面.为此,自动打开打印对话框(为了演示,我将使用简单的Javascript):
<script>
window.print();
</script>
Run Code Online (Sandbox Code Playgroud)
你跳过你的开发环境之前,window.print()确实不容许任何参数(即URL).
此代码打开一个打印对话框.但是,在信息亭模式下,将绕过打印对话框,页面将自动打印到默认打印机.
现在你提到了一个PDF,很有可能,你通过PHP生成它(如果你打印已发布/生成的文件),你可能会想"哦,我不能把HTML放在PDF中来执行javascript".你不需要!要解决打印正确页面的问题,请按以下步骤操作:
在登录/成功页面中,将以下内容插入用户发送到的HTML/PHP页面(对于此解决方案,用户无需访问.pdf)<head>:
<link rel="alternate" media="print" href="LINK TO PDF FILE">
Run Code Online (Sandbox Code Playgroud)
如果页面中包含上述代码window.print();,则执行时将打印上面指定的页面.如果您不在本地保存PDF,则可以将其放在临时目录中,该目录以基于时间或基于操作的计划清除(以某种方式超出此问题的范围),以防止磁盘空间累积.
请记住以下几点:
ALT + F4.--kiosk AND --kiosk-printing.打印参数需要的--kiosk参数.我确信其他浏览器具有类似的功能可以绕过打印对话框,但是,我发现Google Chrome在此类功能中效果最佳.如果您在Linux计算机上,Google有一个.deb文件,您可以使用该命令在Linux上安装Google Chrome sudo dpkg -i (package / downloaded .deb file path).Chromium - 可能 - 支持这种功能.据我所知,它应该.
如果您需要其他帮助,请在下面的评论中留下您的问题,我会尽快回复.
我希望我帮忙.如果我这样做,请随时给我左边的绿色支票.;)