一、前言:
1、最近公司项目需要连接打印机直接批量打印校准证书(PDF文件)
一、前提:
1、本地下载好LODOP并安装
2、电脑下载并安装打印机驱动
二、php代码
框架是yii2.0
getVerifyFile()这个是在模型层封装的方法 集体yii操作数据库的就不写了
三、js
切js一定要引入lodop的js
选批量打印PDF文件的js
var LODOP; 这个一定要声明不然下面lodop的函数用不了 会报错
如下图:
SET_PRINTER_INDEX:指定打印机
功能:这个语句对于广域网打印至关重要,通过扩展其参数含义,实现对AO打印的详细控制。
该语句参数正常值是打印机序号或打印机名称,鉴于打印机名(windows要求)不能包含
逗号,故而扩展版利用逗号对这个单一参数进行扩展分隔。
(这种扩展方式可以兼容老的打印程序)
参数:
该参数值如果不包含逗号,则代表普通打印机序号或打印机名称;反之,如果包含逗号,那么逗号分隔成如下两部分:
第1部分DriverIndex :一般是AO打印机驱动名(或序号).
第2部分PrinterIDandName:AO打印机编号与AO打印机标识名用分号组合而成.
结果:返回逻辑值true或出错信息
返回true表示指定成功,否则代表出错信息。
ADD_PRINT_PDF
名称:PDF文档格式打印项
格式:ADD_PRINT_PDF(Top,Left,Width,Height,strURLorContent)
功能:指定pdf文档来源,设定该打印项在纸张内的位置和区域大小,实现PDF文档控制打印。
参数:
Top:
打印项在纸张内的上边距,也就是在每张纸的上下起点位置,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸)、%(百分比),如“10mm”表示10毫米。
Left:
打印项在纸张内的左边距,也就是在每张纸的左右起点位置,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米。
Width:
未用,宽度以pdf文档本身宽度为准。
Height:
未用,高度以pdf文档本身高度为准。
strURLorContent:
PDF文档来源地址或内容,字符型,可以是URL、本地路径和内容BASE64码三种方式。
LODOP.PRINT();
LOOP_PRINT :直接打印
LOOP.PREVIEW :预览
四、总结
如如你要打印单个PDF js就不要去循环 如果循环答应就不要用 LOOP.PREVIEW()这个函数 (用了会报错)
lodop这个插件功能还是很强大的 里面有很多东西 值得大家研究一些