LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

LODOP如何对WEB页面打印控件进行批量打印

admin
2023年9月27日 0:35 本文热度 417

Lodop打印控件批量打印的方式:
1.批量打印每页内容相同的:
(1)批量打印相同内容的很多纸张,可以设置打印份数,把该内容打印出多份。
2.批量打印每页不同内容的:
(1)通过在一个任务中分页,循环添加页数,每页添加不同内容,一个任务中打印多页。
(2)一个任务中一页,循环多个任务,每个任务添加不同内容。
(3)多任务与多页相结合,既分页又分任务,循环多任务,每个任务中循环多页。

使用建议:
1.批量打印同样的内容,可用多份,需要多少份打印多少份。
2.批量打印不同内容,页数很少,每页内容也很少,需要预览,可在一个任务中分多页。
3.批量打印不同内容,页数很少,不需要预览,直接打印,可一个任务分页,也可一页分多任务,均可。
4.批量打印大批量不同内容,内容多,页数很多,建议分页分任务,分组打印,提高打印性能

打印过多页,不拆分任务,打印成百上千复杂页面,会导致需要等待一段时间,例如点语句后可能很久才出现预览界面。
打印上千上万个任务,任务太多,对操作系统负担大,可酌情分页,分页分任务进行折中处理。

简单来说,就是相同内容,可设份数。
不同内容,可多任务,可任务中分页,可多任务+分页进行组合分组。

批量多任务打印的时候,如果都是相同的模版,可以用同一个Lodop任务名,如果担心打印机队列里都是统一名称,无法区分,可用语句控制,为每个任务取不同的打印机队列名,方法可查看本博客的相关博文:LODOP循环多任务 同模版只设置不同队列任务名

Lodop打印语句最基本结构介绍(什么是一个任务)
Lodop中的一个任务,就是从PRINT_INIT(或PRINT_INITA)初始化到PRINT(或预览等),是一个任务。

方法:
设置打印份数:
LODOP.SET_PRINT_COPIES(4);//设置打印三份
LODOP.SET_PRINT_COPIES(document.getElementById('T6').value);//设置打印名为T6文本框里输入的值的份数。

设置一个任务分多页,没页内容不同:
初始化//任务开始
for (设置循环)
{
分页语句
根据循环添加不同打印项
}
打印(或预览)//任务结束

设置多个任务,循环多任务:
for (设置循环)
{
初始化//任务开始
根据循环添加不同打印项
打印(或预览)//任务结束
}

设置分页分任务,分组打印,
for (设置循环)
{
初始化//任务开始
for (设置循环)
{
分页语句
根据循环添加不同打印项
}
打印(或预览)//任务结束
}

例如,如下四个方法代码,实现打印四张:
第一个把相同的内容打印四份
第二个一个任务打印四页
第三个打印四个任务
第四个,打印两个任务,每个任务两页,共打印四页。

具体演示会代码:

当中的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 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved