LODOP循环多任务 同模版只设置不同队列任务名
LODOP中从PRINT_INIT(或PRINT_INITA)到最后PRINT(或PREVIEW等),是一个任务,关于Lodop中一个任务,以及一个任务中可以包含哪些语句,详细可查看本博客另一篇博文:Lodop打印语句最基本结构介绍(什么是一个任务)
一个任务中,可以有多页,可以是自动分页或手动分页得来的,
例如:Lodop打印控件 超文本自动分页,Lodop强制分页LODOP.NewPage()和LODOP.NewPageA()
如果一个任务中页数过多,会因为一次性占用太多的系统资源而需要等待很长时间,因此需要把页数过多的任务拆分一下,可以分组分任务打印,在分任务的过程中,如果内容不是相同的模版,需要给每个任务设置不同的任务,否则用打印维护功能调整某个任务的时候,会把所有任务都调整,同名任务会互相影响,当然如果不想用打印维护,禁用打印维护的客户端本地调整功能,置空任务也是可以的。如果是相同的模版,只是内容不同,类似多任务套打那种,可以用相同的Lodop任务名,如果想在打印任务队列里区分,可以用 LODOP.SET_PRINT_MODE("CUSTOM_TASK_NAME","LODOP打印任务"+i);//为每个打印单独设置任务名,这个任务名是队列的任务名。
只设置队列的任务名,打印维护缓存的文件就会针对所有(同一个初始化任务名的所有任务调整)的哦。
多任务有两种方式,
一是设置不同的Lodop任务名(打印维护的时候调整只针对这一个任务),例如如下代码,改变了初始化PRINT_INIT的任务名名。
<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>
<a href="javascript:prn1()">循环多任务</a><br><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1() { //单个任务循环
LODOP=getLodop();
var myprn = new Array()
myprn[0] = "PREVIEW:打印预览"
myprn[1] = "PRINT:直接打印"
myprn[2] = "PRINT_DESIGN:打印设计"
for (i=0;i<myprn.length;i++)
{
//任务开始
LODOP.PRINT_INIT("LODOP打印任务的"+i);//初始化在循环中
LODOP.SET_PRINT_PAGESIZE(0,1000,700," ");//设置纸张
LODOP.ADD_PRINT_TEXT(30,30,300,20,myprn[i]);
LODOP.PRINT();
//任务结束
//LODOP.PRINT();//直接打印在循环中
//多任务如果是预览或设计LODOP.PRINT_DESIGN();等,会弹出多次,所以批量打印直接打印 LODOP.PRINT();。
}
};
</script>
</body>
二是设置相同的Lodop任务名,然后设置队列里不同任务名(打印维护的时候是针对Lodop任务名,所有队列的任务都会被调整。例如如下代码不改变Lodop任务名,改变打印机队列任务名)
<html>
<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>
<a href="javascript:prn1()">循环多任务</a><br><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1() { //单个任务循环
LODOP=getLodop();
var myprn = new Array()
myprn[0] = "PREVIEW:打印预览"
myprn[1] = "PRINT:直接打印"
myprn[2] = "PRINT_DESIGN:打印设计"
for (i=0;i<myprn.length;i++)
{
//任务开始
LODOP.PRINT_INIT("LODOP打印任务");//初始化在循环中
LODOP.SET_PRINT_PAGESIZE(0,1000,700," ");//设置纸张
LODOP.ADD_PRINT_TEXT(30,30,300,20,myprn[i]);
LODOP.SET_PRINT_MODE("CUSTOM_TASK_NAME","LODOP打印任务"+i);//为每个打印单独设置任务名
LODOP.PRINT_SETUP();
// LODOP.PRINT();
//任务结束
//LODOP.PRINT();//直接打印在循环中
//多任务如果是预览或设计LODOP.PRINT_DESIGN();等,会弹出多次,所以批量打印直接打印 LODOP.PRINT();。
}
};
</script>
</body>
</html>
LODOP循环多任务 同模版只设置不同队列任务名(初始化任务名是相同的,缓存ini文件是相同的,调整后对所有任务有效):
使用LODOP.PRINT_SETUP();改变第一个任务位置,然后点应用保存当前模版布局,在电脑生成该Loodop任务名的ini文件,该缓存的ini配置文件对所有同一lodop任务名的任务有效,在队里的则是每个任务名都不同的。关于打印维护缓存ini文件,可查看本博客另一篇博文:Lodop打印维护PRINT_SETUP本地缓存ini文件
LODOP循环多任务 同模版只设置不同队列任务名(初始化任务名是相同的,缓存ini文件是相同的,调整后对所有任务有效)图示:
使用LODOP.PRINT_SETUP();改变第一个任务位置,然后点应用保存当前模版布局,在电脑生成该Loodop任务名的ini文件,该缓存的ini配置文件对所有同一lodop任务名的任务有效,在队里的则是每个任务名都不同的。
如图,代码里的该文本项的top值是30,通过打印维护调整后缓存在本地任务名的ini文件,实际打印top值变成了一百多,并且对之后的任务,即三个任务都是有效的,而队列里任务是不同的。

刚开始我以为是设置不同的lodop任务名,后来觉得如果是不同任务名,直接循环设置不同的初始化名称就行了,后来进入技术手册,看到这个是设置打印机队列的任务名,如果批量打印相同模版,进入队列都是一样名称,不容易看出打了多少,以及是否有任务有问题,所以同模版打印机队列的任务名很方便的,此博文用来介绍区别。
不同lodop任务名,和相同Lodop任务名 不同打印机队列任务名的 代码图:

LODOP循环多任务 同模版只设置不同队列任务名的更多相关文章
- Vue作用域插槽:用作循环结构的模版
一 项目结构 二 App组件 <template> <div id="app"> <!-- 子组件 --> <todos :list=&q ...
- 3.MongoDB恢复探究:为什么oplogReplay参数只设置了日志应用结束时间oplogLimit,而没有设置开始时间?
(一)问题 在使用MySQL数据库binlog日志基于时间点恢复数据库时,我们必须要指定binlog的开始位置和结束位置,而在MongoDB里面,如果使用oplog进行恢复,只有oplogLimit参 ...
- docker mysql 数据持久化到本地、设置不区别表名大小写-清风柳絮-51CTO博客
原文:docker mysql 数据持久化到本地.设置不区别表名大小写-清风柳絮-51CTO博客 Docker MySQL 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可 1.加上-v参数 ...
- jsfl脚本设置导出AS链接名遇到的奇怪问题
今天写jsfl脚本发现一个奇怪的问题,脚本用于对库对象设置AS链接名,代码如下: var item = fl.getDocumentDOM().library.items[0];var exportN ...
- Linux下多任务间通信和同步-消息队列
Linux下多任务间通信和同步-消息队列 嵌入式开发交流群280352802,欢迎加入! 简介 消息队列简称为队列.消息队列就是一些消息的列表.用户可以在消息队列中添加消息和读取消息等.从这点上看,消 ...
- linux dhcp 设置路由及主机名
自动获取ipDHCP方式获取ip:dhclient [网络接口]释放通过DHCP获取的ip地址:dhclient -r [网络接口]查看网络接口 ifconfig -a(列出所有接口含禁用的) eth ...
- 获取和设置消息队列的属性msgctl,删除消息队列
消息队列的属性保存在系统维护的数据结构msqid_ds中,用户可以通过函数msgctl获取或设置消息队列的属性. int msgctl(int msqid, int cmd, struct msqid ...
- 详述Linux配置静态IP、设置DNS和主机名(一)
Linux配置静态IP.设置DNS和主机名首先要找到配置文件,这是在Linux系统下进行工作的必须知道工作方式.后面一步步的跟着这个范例来进行配置相信你最终也会完成Linux配置静态IP.设置DNS和 ...
- SqlServer 无法为可更新的订阅设置发布服务器登录名 sp_link_publication
原文:SqlServer 无法为可更新的订阅设置发布服务器登录名 sp_link_publication 没有截图: 创建可更新订阅,正常创建了发布,在订阅端创建订阅,最后一步提示完成,却出现了警告: ...
随机推荐
- Python+自动化测试框架的设计编写
Python之一个简单的自动化测试框架:https://baijiahao.baidu.com/s?id=1578211870226409536&wfr=spider&for=pc h ...
- [Micropython]TPYBoard v202 v102+v202 家庭无线温湿度检测
一.实验器件 1.TPYBoard v102 1块 2.TPYBoard v202 1块 3.Nokia 5110LCD显示屏 1块 4.DHT11温湿度传感器 1个 5.micro USB 数据线 ...
- redis学习(一)——redis介绍及安装
一.redis简介 redis是一个高性能的key-value非关系数据库,它可以存键(key)与5种不同类型的值(value)之间的映射(mapping),支持存储的value类型包括:String ...
- Spring Boot 之使用 Json 详解
Spring Boot 之使用 Json 详解 简介 Spring Boot 支持的 Json 库 Spring Web 中的序列化.反序列化 指定类的 Json 序列化.反序列化 @JsonTest ...
- Keil软件常见配置
1.tab键占据字节数 Edit-->Configuration-->Tab Size-->安装上默认2个空格,这里改为4,符合通用代码编辑器的处理. 2.编码配置 Edit--&g ...
- 用包来组织模型 -- Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 在我们使用python manage.py ...
- IDEA+Maven+Tomcat构建项目流程
0.准备 本文主要解决在IDEA上开发Maven-webapp项目关联Tomcat的问题. 首先,确保本地计算机下载解压了Tomcat压缩包,以及配置好了Java环境. 1.新建Mavne项目 2.I ...
- Dedekind整环上的有限生成模的分类
以下内容本想载于我的代数数论初步当中,但是与整体风格不符,所以换到这里来,为了排版上的方便,在注释掉之前用截图留存. 附:参考文献
- 解析vue2.0的diff算法 虚拟DOM介绍
react虚拟dom:依据diff算法台 前端:更新状态.更新视图:所以前端页面的性能问题主要是由Dom操作引起的,解放Dom操作复杂性 刻不容缓 因为:Dom渲染慢,而JS解析编译相对非常非常非常快 ...
- ssm知识点总结
项目名称:教育网—在线调查系统 项目总体流程图: 设计调查:调查-->包裹--->问题(增删改查) 1.调整包裹顺序 2.移动复制包裹 3.深度删除 创建调查流程分析: 主要生成surve ...