证书批量打印软件 |
您所在的位置:网站首页 › 如何批量打印学生成绩单 › 证书批量打印软件 |
批量打印功能在软件系统里是一项基础功能,常用于大批量打印各种单据。本经验分享为利用优秀的打印控件Lodop批量打印的解决方案。 本经验分享基于Lodop打印控件,文中说到的相关专业名词和函数均能在Lodop技术手册文档中找到。 Lodop(标音:劳道谱,俗称:露肚皮)是web开发的必选伴侣,它能使BS下的打印像CS下那样随意而高效。 当打印页数超级多(上千页)时,如果用单页循环打印,会因为在操作系统中产生太多的打印任务而影响性能; 如果用NewPage分页方式打印,则会因为一次性占用太多的系统资源而需要等待很长时间... 解决问题的办法是采用折中处理,既分组完成,每组完成一部分,循环执行组打印。 打印效果预览 打印维护(模板) 打印预览 代码演示 下面演示一组打印预览10页,分70组循环实现700页的学位证书套打: (在分组打印模板中,需要用ADD_PRINT_TEXTA函数,为每一个对象起个类名) HTML代码 JS代码 varLODOP;//声明为全局变量 functionMySetup() { LODOP=getLodop(); LODOP.PRINT_INIT("中文学位证书打印"); LODOP.SET_PRINT_PAGESIZE(1,2970,2100,""); LODOP.SET_PRINT_STYLE("FontSize",16); LODOP.SET_PRINT_STYLE("Bold",1); CreateOnePage("姓名","男",""); LODOP.PRINT_SETUP(); }; functionMyPREVIEW() { LODOP=getLodop(); LODOP.PRINT_INIT("中文学位证书打印"); LODOP.SET_PRINT_PAGESIZE(1,2970,2100,""); LODOP.SET_PRINT_STYLE("FontSize",16); LODOP.SET_PRINT_STYLE("Bold",1); for(j = 1; j LODOP=getLodop(); if(!confirm("下面的演示会产生大量的实际打印操作,确定继续吗?"))return; for(i = 1; i CreateOnePage("姓名"+i+j,"男",""+i+j); }; LODOP.SET_PRINT_MODE("CUSTOM_TASK_NAME","中文学位证书打印"+i);//为每个打印单独设置任务名 LODOP.PRINT(); }; }; functionCreateOnePage(XM,XB,BH){ LODOP.NewPage(); LODOP.ADD_PRINT_TEXTA("text01",67,132,137,35,XM); LODOP.SET_PRINT_STYLEA(0,"Alignment",3); LODOP.ADD_PRINT_TEXTA("text02",67,280,40,35,XB); LODOP.ADD_PRINT_TEXTA("text03",67,329,70,35,"1979"); LODOP.SET_PRINT_STYLEA(0,"Alignment",3); LODOP.ADD_PRINT_TEXTA("text04",67,421,50,35,"09"); LODOP.SET_PRINT_STYLEA(0,"Alignment",2); LODOP.ADD_PRINT_TEXTA("text05",67,489,40,35,"09"); LODOP.SET_PRINT_STYLEA(0,"Alignment",2); LODOP.ADD_PRINT_TEXTA("text06",223,220,76,35,"理学"); LODOP.SET_PRINT_STYLEA(0,"Alignment",2); LODOP.ADD_PRINT_TEXTA("text07",121,130,332,35,"应用物理与微电子技术"); LODOP.SET_PRINT_STYLEA(0,"Alignment",2); LODOP.ADD_PRINT_TEXTA("text08",271,482,34,35,"校"); LODOP.ADD_PRINT_TEXTA("text09",271,616,32,35,"长"); LODOP.SET_PRINT_STYLEA(0,"Alignment",3); LODOP.ADD_PRINT_TEXTA("text10",300,131,289,35,"合肥工业大学"); LODOP.SET_PRINT_STYLEA(0,"Alignment",2); LODOP.ADD_PRINT_TEXTA("text11",364,210,261,35,"103700002009000"+BH); LODOP.ADD_PRINT_TEXTA("text12",365,753,66,35,"2009"); LODOP.SET_PRINT_STYLEA(0,"Alignment",2); LODOP.ADD_PRINT_TEXTA("text13",365,843,37,35,"12"); LODOP.ADD_PRINT_TEXTA("text14",365,911,54,35,"31"); LODOP.SET_PRINT_STYLEA(0,"Alignment",2); }; 语法注释 名称:增加纯文本打印项 格式:ADD_PRINT_TEXT(Top,Left,Width,Height,strContent) 功能:增加纯文本打印项,设定该打印项在纸张内的位置和区域大小,文本内容在该区域内自动折行,当内容超出区域高度时,如果对象被设为“多页文档”则会自动分页继续打印,否则内容被截取 名称:增加纯文本打印项(扩展型) 格式:ADD_PRINT_TEXTA(strItemName,Top,Left,Width,Height,strContent) 功能:增加纯文本打印项,设定该打印项在纸张内的位置和区域大小,文本内容在该区域内自动折行,当内容超出区域高度时,如果对象被设为“多页文档”则会自动分页继续打印,否则内容被截取 说明:功能同函数ADD_PRINT_TEXT,strItemName所增纯文本打印项的项目名,字符型,未限制长度。打印项序号比较难以控制时,用本函数。 名称:设置打印项风格A,继承SET_PRINT_STYLE的所有属性(扩展型) 格式:SET_PRINT_STYLEA(varItemNameID, strStyleName,varStyleValue) 功能:类似函数SET_PRINT_ STYLE的功能,二者的区别是本函数只对单个打印项有效。 参数说明:varItemNameID:要设置的目标项序号或项目名,数字型或字符型。 数字型时,表示是序号,以其增加的先后自然顺序为准,从1开始,所有打印对象都参与排序,包括超文本、纯文本、图片、图线、图表、条码等。 如果序号为0,代表当前(最后加入的那个)数据项;如果序号是负数,代表前面加入的数据项,该值为前移个数偏移量。 字符型时,是对象的类名或代表部分对象的关键字。 关键字有如下几种: Selected-代表在设计界面上用鼠标所选的所有对象; unSelected-代表在设计界面上所有没有被鼠标选择的对象; All-代表所有正常对象; First-代表第一个正常对象; Last-代表最后一个正常对象; 不是关键字的字符一般是类名,类名可以在ADD_PRINT_TEXTA加入纯文本时用strItemName来声明,也可以在设计界面用菜单功能(Set TEXT Item Name)来设置。 strStyleName:打印风格名。此处风格“Alignment”(设定纯文本打印项的内容左右靠齐方式) varStyleValue:打印风格值。此处风格值“2”(1--左对齐、2--居中、3--右对齐,缺省值1) 名称:设置打印模式 格式:SET_PRINT_MODE(strModeType,varModeValue) 功能:设置人工双面打印模式等。 参数说明:strModeType:模式类型名。此处类型名“CUSTOM_TASK_NAME”:设置本次输出的打印任务名(打印任务池里的“文档名”) varModeValue:模式类型值,整数或字符型。此处类型值为字符型,可以是汉字,未限制长度,本设置比PRINT_INIT或PRINT_INITA函数设置的打印任务名优先级高,如此以来可以实现在同一套配置文件下起多个打印任务名,以利于按打印任务名管理的输出。 注意:以上参数描述仅针对本经验分享到的代码作为说明,实际上,Lodop打印控件的函数其参数非常丰富,欲一睹Lodop打印控件的强大请大家参考官方手册详细说明! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |