轻松用Lodop实现批量打印功能

首页 / 图解小知识 | 2022-06-13 18:44:05 点击:0

本经验分享基于Lodop打印控件,文中说到的相关专业名词和函数均能在Lodop技术手册文档中找到。

Lodop(标音:劳道谱,俗称:露肚皮)是web开发的必选伴侣,它能使BS下的打印像CS下那样随意而高效。

当打印页数超级多(上千页)时,如果用单页循环打印,会因为在操作系统中产生太多的打印任务而影响性能;

如果用NewPage分页方式打印,则会因为一次性占用太多的系统资源而需要等待很长时间...

解决问题的办法是采用折中处理,既分组完成,每组完成一部分,循环执行组打印。

打印效果预览

打印维护(模板)
打印维护(模板)

打印预览
打印预览

代码演示

下面演示一组打印预览10页,分70组循环实现700页的学位证书套打:

(在分组打印模板中,需要用ADD_PRINT_TEXTA函数,为每一个对象起个类名)

HTML代码

  1.     
  2.   
  3.  

JS代码

  1. var LODOP; //声明为全局变量 
  2. function MySetup() {     
  3.         LODOP=getLodop();   
  4.         LODOP.PRINT_INIT("中文学位证书打印"); 
  5.         LODOP.SET_PRINT_PAGESIZE(1,2970,2100,""); 
  6.         LODOP.SET_PRINT_STYLE("FontSize",16); 
  7.         LODOP.SET_PRINT_STYLE("Bold",1); 
  8.         CreateOnePage("姓名","男","");          
  9.         LODOP.PRINT_SETUP(); 
  10. }; 
  11. function MyPREVIEW() {   
  12.         LODOP=getLodop();   
  13.         LODOP.PRINT_INIT("中文学位证书打印"); 
  14.         LODOP.SET_PRINT_PAGESIZE(1,2970,2100,""); 
  15.         LODOP.SET_PRINT_STYLE("FontSize",16); 
  16.         LODOP.SET_PRINT_STYLE("Bold",1);     
  17.         for (j = 1; j <=10; j++) { 
  18.             CreateOnePage("姓名"+j,"男",j);             
  19.         };       
  20.         LODOP.SET_PREVIEW_WINDOW(0,0,0,0,0,"");          
  21.         LODOP.PREVIEW(); 
  22. };   
  23. function MyPrint() {     
  24.     LODOP=getLodop();   
  25.     if(!confirm("下面的演示会产生大量的实际打印操作,确定继续吗?")) return; 
  26.     for (i = 1; i <=70; i++) { 
  27.         LODOP.PRINT_INIT("中文学位证书打印"); 
  28.         LODOP.SET_PRINT_PAGESIZE(1,2970,2100,""); 
  29.         LODOP.SET_PRINT_STYLE("FontSize",16); 
  30.         LODOP.SET_PRINT_STYLE("Bold",1);         
  31.         for (j = 1; j <=10; j++) { 
  32.             CreateOnePage("姓名"+i+j,"男",""+i+j);          
  33.         };   
  34.         LODOP.SET_PRINT_MODE("CUSTOM_TASK_NAME","中文学位证书打印"+i);//为每个打印单独设置任务名     
  35.         LODOP.PRINT(); 
  36.     }; 
  37. };   
  38. function CreateOnePage(XM,XB,BH){    
  39.     LODOP.NewPage(); 
  40.     LODOP.ADD_PRINT_TEXTA("text01",67,132,137,35,XM); 
  41.     LODOP.SET_PRINT_STYLEA(0,"Alignment",3); 
  42.     LODOP.ADD_PRINT_TEXTA("text02",67,280,40,35,XB); 
  43.     LODOP.ADD_PRINT_TEXTA("text03",67,329,70,35,"1979"); 
  44.     LODOP.SET_PRINT_STYLEA(0,"Alignment",3); 
  45.     LODOP.ADD_PRINT_TEXTA("text04",67,421,50,35,"09"); 
  46.     LODOP.SET_PRINT_STYLEA(0,"Alignment",2); 
  47.     LODOP.ADD_PRINT_TEXTA("text05",67,489,40,35,"09"); 
  48.     LODOP.SET_PRINT_STYLEA(0,"Alignment",2); 
  49.     LODOP.ADD_PRINT_TEXTA("text06",223,220,76,35,"理学"); 
  50.     LODOP.SET_PRINT_STYLEA(0,"Alignment",2); 
  51.     LODOP.ADD_PRINT_TEXTA("text07",121,130,332,35,"应用物理与微电子技术"); 
  52.     LODOP.SET_PRINT_STYLEA(0,"Alignment",2); 
  53.     LODOP.ADD_PRINT_TEXTA("text08",271,482,34,35,"校"); 
  54.     LODOP.ADD_PRINT_TEXTA("text09",271,616,32,35,"长"); 
  55.     LODOP.SET_PRINT_STYLEA(0,"Alignment",3); 
  56.     LODOP.ADD_PRINT_TEXTA("text10",300,131,289,35,"合肥工业大学"); 
  57.     LODOP.SET_PRINT_STYLEA(0,"Alignment",2); 
  58.     LODOP.ADD_PRINT_TEXTA("text22",364,210,261,35,"103700002009000"+BH); 
  59.     LODOP.ADD_PRINT_TEXTA("text12",365,753,66,35,"2009"); 
  60.     LODOP.SET_PRINT_STYLEA(0,"Alignment",2); 
  61.     LODOP.ADD_PRINT_TEXTA("text13",365,843,37,35,"12"); 
  62.     LODOP.ADD_PRINT_TEXTA("text14",365,922,54,35,"31"); 
  63.     LODOP.SET_PRINT_STYLEA(0,"Alignment",2); 
  64. }; 

语法注释

名称:增加纯文本打印项

格式: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打印控件的强大请大家参考**手册详细说明!


本站声明:本站部分文章来自网络,由用户上传分享,如若内容侵犯了您的合法权益,可联系我们进行处理。文章仅供大家学习与参考,不**本站立场。

评论(0)
*评论只允许汉字和全角中文标点符号。 ? ! ,等
相关标签

推荐相关
相关图片
图集标签

标签索引

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

文章索引

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

关注用户
QQ皮肤 | 唯美图片 | 闪图 | 女生头像 | 女生图片 | 文字图片 | 爱情图片 | 素材图片 | 非主流图片 | 伤感图片 | 游戏图片 | QQ表情 | 流光字 | qq相册封面拼图 | 小清新图片 | lomo图片 | 美女 | 搞笑图片 | 美文 | 卡通图片 | 原创投稿 | 植物图片 | 动物图片 | 风景图片 | 二次元 | 古风图片 | 美食图片 | 手工制作 | 动漫图片 | 手工折纸 | 废物利用 | 儿童手工 | 可爱图片 | 插画 | 欧美图片 | 头像 | 男生头像 | 情侣头像 | 欧美头像 | 卡通头像 | qq说说 | 伤感说说 | 爱情说说 | 搞笑说说 | 心情说说 | 经典说说 | 图片说说 | 纹身图案 | 可爱头像 | 娱乐圈 | 明星图片 | 娱乐八卦 | 影视剧照 | 摄影图片 | 儿童图片 | 女孩图片 | 男孩图片 | 宝宝图片 | cosplay图片 | 图解小知识 | 美女写真 | 性感美女 | 美女校花 | 游戏美女 | 韩国美女 | 清纯美女 | 内衣美女 | 制服美女 | **** | 欧美美女 | 美女模特 | 美女私房 | 电脑壁纸 | 影视壁纸 | 明星壁纸 | 美女壁纸 | 节日壁纸 | 游戏壁纸 | 卡通动漫 | 美食壁纸 | 风景壁纸 | 动物壁纸 | 设计创意 | 汽车壁纸 | 日历壁纸 | 植物壁纸 | 广告壁纸 | 家居壁纸 | 军事壁纸 | 体育壁纸 | 风格壁纸 | 手机壁纸 | 动漫 | 美女 | 明星 | 游戏 | 影视 | 汽车 | 风景 | 唯美 | 植物 | 动物 | 可爱 | 节日 | 卡通 | 创意 | 非主流 | 苹果 | 搞笑 | 爱情 | 动态 | 风格 | 体育 | 美食 | 萌表情 | 文案 范文 曲谱大全 | 美声曲谱 | 合唱曲谱 | 少儿曲谱 | 外国曲谱 | 戏曲曲谱 | 民歌曲谱 | 通俗曲谱 | 器乐乐谱 | 原创曲谱 | 谱友园地 | 个人曲谱 | 吉他乐谱 | 电子琴谱 | 钢琴乐谱 | 胡琴乐谱 | 葫芦丝等 | 琵琶乐谱 | 其他乐谱 | 笛箫乐谱 | 古筝古琴 | 铜管乐谱 | 提琴乐谱 | 长笛乐谱 | 手风琴谱 | 萨克斯谱 | 口琴乐谱 | 扬琴乐谱 | 图说养生 | 运动养生 | 春季养生 | 女性健康 | 夏季养生 | 疾病预防 | 秋季养生 | 养生小妙招 | 减肥瘦身 | 冬季养生 | 母婴保健 | 24节气养生 | 生活常识 | 孕妇养生 | 小偏方 | 幼儿养生 | 美容护肤 | 老人养生 | 中医养生 | 饮食指南 | 青少年养生 | 饮食指南 | 女性养生 | 男性养生 | 白领养生 | 男性健康 | 两性保健 | 生活禁忌 | 穴位养生 | 两性健康 | 风景头像 | 心理健康 | 养生资讯 | 评测 | 图说花草 | 养花知识 | 花卉诊疗 | 植物百科 | 图说娱乐 | 明星 | 影视 | 综艺 | 八卦 | 爆料 | 花边 | 趣事 | 日韩 | 剧情 | 图说女性 | 时尚美妆 | 整容知识 | 丰胸** | 美体知识 | 时尚穿搭 | 化妆技巧 | 发型设计 | 护肤知识 | 美**选 | 保养技巧 | 时尚包包 | 女士内衣 | 运动健身 | 图说社会 | 旅游 | 百态 | 创业 | 职场 | 军事 | 情感 | 健康 | 美食 | 问答 | 图说知识 | 生活 | 资讯 | 影视 | 女性 | 旅游 | 汽车 | 吃喝 | 科技 | 教学 | 食谱 | 特产 | 功效与作用 | 美食 | | 烘焙 | 手机数码 | win7 | word | Excel | 电脑操作 | Photoshop | win10 | PowerPoint | 数码 | 教育 | 手抄报 | 简笔画 | 简笔画大全 | 故事 | 折纸 | 节日节气 | 历史 | 优品 | 家居知识 | 家居 | 母婴 | 星座 | 街拍 | 图说排名 | 生活 | 旅游 | 娱乐 | 城市 | ** | 教育 | 科技 | 行业 | 军事 | 人物 | 体育 | 图说亲子 | 备孕 | 孕期 | 分娩 | 产后 | 新生儿 | 幼儿 | 婴儿 | 早教 | 儿童 | 用品 | 图说发型 | 女生 | 波波头 | 丸子头 | 花苞头 | 男生 | 编发 | 长发 | 圆脸 | 大脸 | 马尾辫 | 蜈蚣辫 | 麻花辫 | 梨花头 | 盘发 | 卷发 | 直发 | 短发 | 刘海 | 非主流 | 夏季 | 发髻 | 纹理烫 | 荷叶头 | 韩式 | 胖脸 | 娃娃脸 | 瓜子脸 | 长脸 | 方脸 | 欧美头像 | 个性头像 | 唯美头像 | 文字头像 | 带字头像 | 伤感头像 | 黑白头像 | 霸气头像 | 超拽头像 | 颓废头像 | 清新头像 | 意境头像 | 背影头像 | 抽烟头像 | 搞笑头像 | 小孩头像 | 游戏头像 | 动物头像 | 汽车头像 | 超萌头像 | 创意头像 | 静物头像 | 非主流头 | 星座头像 | 植物头像 | 节日头像 | 另类头像 | 手绘头像 | 纹身头像 | 明星头像 | 人物头像 | 建筑头像 | 恐怖头像 | 古风头像 | 励志头像 | 风水头像 | 姓氏头像 | 动态头像 | 群头像 | 家用电器 | 手机数码 | 护肤美妆 | 服装饰品 | 食品特产 | 母婴用品 | 时尚生活 | 探索发现 | 科学探寻 | 未解之谜 | 世界之最 | 历史趣闻 | 宇宙探索 | 猎奇八卦 | 世界十大 | 奇异生物 | 图说理财