做一个项目,服务器生成了一个 pdf 文件。现在由于保密要求,需要操作员直接点击一个按钮就把这个文件从打印机打印出来。而不能新开一个窗口看见这个 pdf 文件的内容,再点击打印,也不能预览打印的内容。有什么比较好的解决方案吗。

做一个项目,服务器生成了一个 pdf 文件。现在由于保密要求,需要操作员直接点击一个按钮就把这个文件从打印机打印出来。而不能新开一个窗口看见这个 pdf 文件的内容,再点击打印,也不能预览打印的内容。有什么比较好的解决方案吗。
1 ccc008 Nov 18, 2020 操作员打印出来,直接拿起打印好的纸张不还是可以看到吗 |
2 loading Nov 18, 2020 via Android 打印到文件 .prn 这只能自欺欺人。 |
3 Xusually Nov 18, 2020 https://stackoverflow.com/questions/13045153/directly-print-with-php Now printing a PDF file is a totally different issue. You can print it via shell execution: shell_exec( 'lpr /path/to/file/filename.pdf' ); Or with a PHP class found here: require_once( 'PrintIPP.php' ); $ipp = new PrintIPP(); $ipp->setHost( 'localhost' ); $ipp->setPrinterURI( '/printers/epson' ); $ipp->setData( '/path/to/file/filename.pdf' ); $ipp->printJob(); |
4 loading Nov 18, 2020 via Android 建议使用端到端非对称加密,配合打印端用加密狗。 |
5 yyss8 Nov 18, 2020 via iPhone 你要用浏览器打印基本没办法 只能走 chrome 的预览 如果要不走那个直接调用打印机就只能本地架个 php 服务器 然后 php 直接调用打印机 当然你还得解决打印的人不会拿起来看一眼 |
8 Oceanhime Nov 19, 2020 PHP 不能直接操作浏览器,即客户端的任何设备的,PHP 对硬件发起的任何动作都操作的是服务器,除非你要把 PHP 服务器搭建在操作员电脑里。 然后就是如果必须要用 Javascript 或者必须要使用浏览器内建打印,那就绕不过去浏览器自己的预览。 所以 你可以像 #5 说的,在电脑里搭一个 PHP 服务端然后起 PHP 调用打印机 或者可以写一个小脚本,浏览器端请求 localhost 特定端口,POST 发送文件,然后脚本调用打印。 但是只要服务端需要回传给客户端文件,那客户端完全可以通过各种方式获取到想要的文件。除非进行加密,打印端还需要进行防护,这样就比较复杂了 |
9 Ansonyi Nov 19, 2020 |
10 Sunyanzi Nov 19, 2020 很简单啊 ... 我做过类似的项目 ... Web 服务器放公司走内网 ... 客户机连内网 Web 服务器 ... 服务器 USB 直连打印机 ... 下打印指令的时候直接 Web 服务器后台把文件加入打印队列就好 ... 啥也不用给客户端传 ... |