从浏览器静默打印

Fai*_*zal 2 php java browser sockets printing

在过去的几天中,我进行了很多研究,并在此问题上给予了足够的重视。我想要实现的是使用“打印”按钮直接从Web进行打印。我不想浏览器显示弹出窗口。我的Web应用程序将连接2台打印机,我希望自动选择打印机。

我知道使用PHP或没有任何浏览器扩展或活动的x插件是不可能的。

我还想到了一种在用户系统上安装Java套接字客户端应用程序时使用Web套接字发送打印请求的解决方案。

请建议我任何节省时间的解决方案

Nat*_*rad 5

我研究了Chrome扩展程序,fire fox插件
-Faizan Afzal 3月28日在15:54

在上面的评论中,您提到您已经研究了Chrome扩展和FireFox插件,但是这些浏览器中已经内置了禁用打印对话框的功能。
如果您要制作的Web应用程序将在受控环境中运行(您可以在其中管理哪些浏览器访问它以及如何配置它们),则可以轻松地做到这一点。

Chrome
首先,转到chrome://settings/并将您的主页更改为Web应用程序。接下来,为桌面上的Chrome浏览器创建快捷方式,然后右键单击它以打开属性窗口。在“目标”输入字段中,添加 --kiosk --kiosk-printing到位置的尽头。应用更改,关闭所有Chrome窗口,然后单击快捷方式。这将使您进入全屏(信息亭模式),并且当您尝试打印时,它将自动在默认打印机上打印而不显示弹出窗口。

FireFox
在FireFox上,转到about:config并同意所有警告消息。然后,右键单击页面上的某个位置并创建一个“ New -> Boolean”。它将提示您输入名称和状态。输入名称,print.always_print_silent并将状态设置为true。然后,您需要保存更改并重新启动已打开的所有FireFox窗口。如果您尝试打印某些内容,它将不再需要显示弹出窗口,而是将自动在默认打印机上打印。

通过以这种方式配置这些浏览器中的window.print();任何一个,您可以使用标准的JavaScript方法进行打印,而无需任何类型的服务器端交互。

批处理文件?
如果您想要一种更简单的方法,可以使用以下两个命令提示符脚本,它们将自动配置和/或运行它们以满足您的需求:

Chrome:

cd Program Files (x86)\Google\Chrome\Application
chrome.exe --kiosk --kiosk-printing
Run Code Online (Sandbox Code Playgroud)

火狐:

FOR /D %%G in ("%APPDATA%\Mozilla\Firefox\Profiles\*.default") DO SET prof=%%G
cd %prof%
echo user_pref("print.always_print_silent", true);>>prefs.js
cd \..
cd Program Files (x86)\Mozilla Firefox
firefox.exe
Run Code Online (Sandbox Code Playgroud)