LODOP设置同一个任务发送到不同打印机
前面的博文Lodop打印语句最基本结构介绍(什么是一个任务),一个任务只能有一个打印语句(最后PRINT,PRINTA,PREVIEW等),如果执行多个,LODOP会弹出多次,C-LODOP会提示窗口已打开等,可查看本博客相关博文。
一个任务中如果执行了两个PRINT,由于打印后lodop会自动清理前面的任务,不只是打印内容,还有打印初始化的语句等全部清理,所以连续执行两个,会导致后面的一个PRINT打出来是空白的。
如果想一个任务中第二个也有内容,可用该语句:
LODOP. SET_PRINT_MODE("NOCLEAR_AFTER_PRINT",true);//设置打印完毕不清理打印信息
设置好后,可再次发送就还会保留之前打印前的信息,通过这个,可以重新设置打印机语句,第二个会按照第二个打印机进行打印,就实现了一个任务发送给两个打印机。
正常情况下,打印完会清理打印任务,所以一个任务只能设置一次打印机,发送给一个打印机,通过该设置,可发送给多个打印机。
发送给两个打印机,也可以设置两个任务,两个任务内容是相同的,每个任务选择不同打印机。
如果是发送一个打印机多次,直接设置份数就可以了。
代码:
<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>
<a href="javascript:prn2()">设置不清理后,再打印(队列里第二个文档)</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function CreatePrintPage() {
LODOP=getLodop();
LODOP.PRINT_INIT("这是任务名");
LODOP.SET_PRINT_PAGESIZE(1,300,500,"");
LODOP.ADD_PRINT_TEXT(37,5,100,20,"新加文本1");
LODOP.ADD_PRINT_SHAPE(5,92,7,100,60,0,1,"#000000");
};
function prn1() {//错误写法,任务完成后自动清理了打印任务,第二个空白
LODOP=getLodop();
CreatePrintPage();
LODOP. SET_PRINTER_INDEXA("HP Color LaserJet 1600 Class Driver");//设置某个打印机
LODOP.PRINT();//打印
LODOP. SET_PRINTER_INDEXA("Brother Color Type3 Class Driver");//设置另一个打印机
LODOP.PRINT();//打印
};
function prn2() {//正确写法,设置带你完不清理,第二个有内容。
LODOP=getLodop();
CreatePrintPage();
LODOP. SET_PRINT_MODE("NOCLEAR_AFTER_PRINT",true);//设置打印完毕不清理打印信息
LODOP. SET_PRINTER_INDEXA("HP Color LaserJet 1600 Class Driver");//设置某个打印机
LODOP.PRINT();//打印
LODOP. SET_PRINTER_INDEXA("Brother Color Type3 Class Driver");//设置另一个打印机
//LODOP. SET_PRINTER_INDEXA("Doro PDF Writer");//设置某个pdf虚拟打印机
LODOP.PRINT();//打印
};
//注意这里用的是PRINT,
//如果是预览,设计,PIRNTA(直接打印带弹框)的,那种,c-lodop只能打开一个窗口。c-lodop会提示窗口已开单,详见其他博文
</script>
</body>
图示:

由于本博客自己设置的标签杂乱,可用搜索框,花谢悦神的cnblog,右侧的搜索框,填入关键词点击搜索。
LODOP设置同一个任务发送到不同打印机的更多相关文章
- LODOP判断没成功发送任务-重打一下
一般情况下打印执行了PRINT()或PRINTA(),就会加入打印机队列,如果打印机脱机,就会在队列里排队,当打印机连上并取消脱机的时候,正在排队的任务就会打出,所以一般建议用是否加入队列来判断打印成 ...
- LODOP设置纸张无效问题
有的打印机不支持自定义纸张,或不支持当前设置的纸张尺寸,会造成纸张尺寸和代码里设置的尺寸不一致的情况.现象:1.代码一样,纸张语句设置正确,有的打印机纸张正常,有的打印机不正常.2.代码一样,纸张语句 ...
- Win10共享打印机所需要的设置(无需密码访问实现打印机共享,共享不要密码)
原文:https://m.baidu.com/from=1086k/bd_page_type=1/ssid=0/uid=0/pu=usm@0,sz@1320_1002,ta@iphone_2_5.1_ ...
- C# 使用 Windows API 发送文件到打印机
最近需要做一个打印的功能,于是在网上找到了这么一个方法. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public cl ...
- LODOP设置打印机不存在不打印
LODOP中打印机的选择有优先级的存在,如果程序中指定的是错误的打印机,那么会走下一个优先级,这样,就可能存在选择了打印机无效,从默认打印机打印出来了,可以在代码里加判断避免这一点. 打印机优先级简介 ...
- LODOP设置某打印项锁定下边距
LODOP中的打印项定位都是按照top值(顶边距),left(左边距)来决定的 ,不能直接设置某打印项的下边距.此外,打印项的位置还受PRINT_INTA的前两个整体偏移值,打印机可打区域的影响.该文 ...
- LODOP设置超文本不自动分页的方法
在LODOP中,超文本超过打印项高度会自动分页,自动分页有两种情况:超过设置的打印项高度,超过纸张.这里是指高度,超过纸张宽度的超文本不会显示,会隐藏掉. 如果你不了解什么是LODOP中的超文本打印项 ...
- LODOP设置打印设计返回JS代码是变量
前面有一篇博文是介绍JS模版的加载和赋值,赋值有两种,详细可查看本博客的那篇博文:LodopJS代码模版的加载和赋值简单来说,就是打印项的值是变量,在添加打印项前进行赋值:打印项的值是字符串,给打印项 ...
- LODOP设置判断后执行哪个
LODOP的语句是普通的语句,可以通过JS判断确定要执行哪个,或通过循环循环执行一些语句.如果需要执行某些打印项在哪些条件下不打印,不需要通过代码删除打印项,类似LODOP.SET_PRINT_STY ...
随机推荐
- 多任务5-协程(IO密集型适用)--gevent完成多任务及monkey补丁
代码: import gevent def f1(n): for i in range(n): print(gevent.getcurrent(),i) gevent.sleep(1) def f2( ...
- jaxa技术2
XStream 1. 什么作用 * 可以把JavaBean转换为(序列化为)xml 2. XStream的jar包 * 核心JAR包:xstream-1.4.7.jar: * 必须依赖包:xpp ...
- HTML 005 段落
HTML 段落 HTML 可以将文档分割为若干段落. HTML 段落 段落是通过 <p> 标签定义的. 实例 <p>这是一个段落 </p> <p>这是另 ...
- 验证账号密码是否为空 if格式
当前台页面是否提示有没有输入账号密码时 这时需要验证 //验证账号是否为空 if(string.IsNullOrEmpty(zh)) { //为空 则提示输入账号 ObjToJsin.msg = &q ...
- MySQL 事务 MVCC 版本链
版本链 对于使用InnoDB存储引擎的表来说,它的聚簇索引记录中都包含两个必要的隐藏列(row_id并不是必要的,我们创建的表中有主键或者非NULL唯一键时都不会包含row_id列): 1) ...
- 三十.数据库服务概述 构建MySQL服务器 、 数据库基本管理 MySQL数据类型
mysql50:192.168.4.50 1.构建MySQL服务器 安装MySQL-server.MySQl-client软件包 修改数据库用户root的密码 确认MySQL服务程序运行.root可控 ...
- MVC 元数据验证
ASP.NET MVC 3 Validation - 正则表达式验证RegularExpressionAttribute之日期验证 http://blog.csdn.net/jackvs/articl ...
- 【原创】go语言学习(九)指针类型
目录 变量和内存地址 指针类型 值拷贝和引用拷贝 变量和内存地址 1.每个变量都有内存地址,可以说通过变量来操作对应大小的内存 var a int32 a = 100 fmt.Printf(“%d\n ...
- ROS模拟
亲测,在古月大大这篇博客中的一条命令最好改为rostopic pub /cmd_vel geometry/Twist -r 10 -- '[0.2,0,0]' '[0,0,0.5]'. http:// ...
- P1021 邮票面值设计——搜索+完全背包
P1021 邮票面值设计 题目意思是你最多用n张邮票,你可以自己设定k种邮票的面值,每种邮票数量无穷,你最多能用这k种邮票在不超过n张的情况下,组合成的价值要求是从1开始连续的, 求最大能连续到多少: ...