有什么 js 或者 PHP 直接调用打印机打印文件不预览的方法吗。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ANEYE
V2EX    问与答

有什么 js 或者 PHP 直接调用打印机打印文件不预览的方法吗。

  ANEYE 2020-11-18 22:47:06 +08:00 2501 次点击
这是一个创建于 1788 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

10 条回复    2020-11-19 01:07:44 +08:00
ccc008
    1
ccc008  
   2020-11-18 23:07:46 +08:00
操作员打印出来,直接拿起打印好的纸张不还是可以看到吗
loading
    2
loading  
   2020-11-18 23:10:56 +08:00 via Android
打印到文件
.prn

这只能自欺欺人。
Xusually
    3
Xusually  
   2020-11-18 23:11:27 +08:00
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();
loading
    4
loading  
   2020-11-18 23:11:53 +08:00 via Android
建议使用端到端非对称加密,配合打印端用加密狗。
yyss8
    5
yyss8  
   2020-11-18 23:37:10 +08:00 via iPhone
你要用浏览器打印基本没办法 只能走 chrome 的预览
如果要不走那个直接调用打印机就只能本地架个 php 服务器 然后 php 直接调用打印机

当然你还得解决打印的人不会拿起来看一眼
ANEYE
    6
ANEYE  
OP
   2020-11-18 23:47:38 +08:00
@ccc008
@yyss8
感谢 甲方的意思好像是打印机距离操作员很远 有专门的人收打印的文件
ANEYE
    7
ANEYE  
OP
   2020-11-18 23:53:08 +08:00
@Xusually
@loading
谢谢老哥,我研究研究
Oceanhime
    8
Oceanhime  
   2020-11-19 00:08:38 +08:00
PHP 不能直接操作浏览器,即客户端的任何设备的,PHP 对硬件发起的任何动作都操作的是服务器,除非你要把 PHP 服务器搭建在操作员电脑里。
然后就是如果必须要用 Javascript 或者必须要使用浏览器内建打印,那就绕不过去浏览器自己的预览。

所以 你可以像 #5 说的,在电脑里搭一个 PHP 服务端然后起 PHP 调用打印机
或者可以写一个小脚本,浏览器端请求 localhost 特定端口,POST 发送文件,然后脚本调用打印。
但是只要服务端需要回传给客户端文件,那客户端完全可以通过各种方式获取到想要的文件。除非进行加密,打印端还需要进行防护,这样就比较复杂了
Ansonyi
    9
Ansonyi  
   2020-11-19 00:12:28 +08:00
Sunyanzi
    10
Sunyanzi  
   2020-11-19 01:07:44 +08:00
很简单啊 ... 我做过类似的项目 ...

Web 服务器放公司走内网 ... 客户机连内网 Web 服务器 ... 服务器 USB 直连打印机 ...

下打印指令的时候直接 Web 服务器后台把文件加入打印队列就好 ... 啥也不用给客户端传 ...
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2604 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 25ms UTC 14:51 PVG 22:51 LAX 07:51 JFK 10:51
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86