LODOP如何对WEB页面打印控件进行批量打印
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
Lodop打印控件批量打印的方式: 使用建议: 打印过多页,不拆分任务,打印成百上千复杂页面,会导致需要等待一段时间,例如点语句后可能很久才出现预览界面。 简单来说,就是相同内容,可设份数。 批量多任务打印的时候,如果都是相同的模版,可以用同一个Lodop任务名,如果担心打印机队列里都是统一名称,无法区分,可用语句控制,为每个任务取不同的打印机队列名,方法可查看本博客的相关博文:LODOP循环多任务 同模版只设置不同队列任务名 Lodop打印语句最基本结构介绍(什么是一个任务) 方法: 设置一个任务分多页,没页内容不同: 设置多个任务,循环多任务: 例如,如下四个方法代码,实现打印四张: 具体演示会代码: 当中的console.log是由于分2页为一个任务,打印两个任务,需要确定数组下标是0,1,2,3,所以加了个console.log查看一下循环中每次i+j的值是否是否正确。 <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>WEB打印控件LODOP</title> <script language="javascript" src="LodopFuncs.js"></script> </head> <body><input type="text" id="T6" size="2" value="4" name="copies"> <a href="javascript:prn1_preview()">预览打印多份一样的内容</a><br> <a href="javascript:prn1_preview2()">预览打印多页</a><br> <a href="javascript:prn1_preview3()">直接打印多任务</a><br> <a href="javascript:prn1_preview4()">直接打印分页分任务 分组打印</a> <script language="javascript" type="text/javascript"> var LODOP; //声明为全局变量 function prn1_preview() {//批量打印相同内容可以用份数 LODOP=getLodop(); LODOP.PRINT_INIT(""); LODOP.SET_PRINT_PAGESIZE(1,300,500,""); LODOP.SET_PRINT_COPIES(document.getElementById('T6').value); LODOP.ADD_PRINT_TEXT(75,6,100,20,"一个文本"); //LODOP.PRINT_DESIGN(); LODOP.PREVIEW(); }; function prn1_preview2() { //一个任务中循环多页,每页内容不同 LODOP=getLodop(); var wenben=["一号文本","二号文本","三号文本","四号文本"]; LODOP.PRINT_INIT("");//初始化在循环外 LODOP.SET_PRINT_PAGESIZE(1,300,500,""); for (i=0;i<wenben.length;i++) { LODOP.NewPage(); LODOP.ADD_PRINT_TEXT(75,6,100,20,wenben[i]); } //LODOP.PRINT_DESIGN(); LODOP.PREVIEW(); }; function prn1_preview3() { //循环多个任务,每个任务内容不同 LODOP=getLodop(); var wenben=["一号文本","二号文本","三号文本","四号文本"]; for (i=0;i<wenben.length;i++) { LODOP.PRINT_INIT("");//初始化在循环中 LODOP.SET_PRINT_PAGESIZE(1,300,500,""); LODOP.ADD_PRINT_TEXT(75,6,100,20,wenben[i]); LODOP.PRINT(); } }; function prn1_preview4() { //循环多个任务,任务中循环页数,分页分任务 LODOP=getLodop(); var wenben=["一号文本","二号文本","三号文本","四号文本"]; for (i=0;i<4;i=i+2) { LODOP.PRINT_INIT("");//初始化在外循环中 LODOP.SET_PRINT_PAGESIZE(1,300,500,""); for (j=0;j<2;j++) { console.log(i+j); LODOP.ADD_PRINT_TEXT(75,6,100,20,wenben[i+j]); LODOP.NewPage(); } //LODOP.PRINT_DESIGN(); LODOP.PRINT(); } }; </script> </body>
简单点描述,就是循环多页,在任务中循环页数;循环多任务,直接循环多任务。 数据和页数过多,需要分页分任务,分组打印,提高性能。 注意,批量打印建议用直接打印,如果用预览,lodop会弹出多次,c-lodop会提示窗口已打开。 该文章在 2023/9/27 0:35:01 编辑过 |
关键字查询
相关文章
正在查询... |