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 ...
随机推荐
- 并发编程:Thread和Runable-01
1.继承Thread类(不推荐) 代码很简单,就不说了 public class ThreadTest02 { public static void main(String[] args) { n ...
- sql 索引的使用 转载:https://www.cnblogs.com/xiaoyangjia/p/11267191.html#mysql_performance
B-Tree索引的3个限制: 如果不是按照索引的最左列开始查找,则无法使用索引 不能跳过索引中的列.如果联合索引(a,b,c) ,如果使用条件a和c条件查询,那么只能使用索引的第一列a 如果查询中有某 ...
- [51Nod 1237] 最大公约数之和 (杜教筛+莫比乌斯反演)
题目描述 求∑i=1n∑j=1n(i,j) mod (1e9+7)n<=1010\sum_{i=1}^n\sum_{j=1}^n(i,j)~mod~(1e9+7)\\n<=10^{10}i ...
- 第十三章 使用ADO.NET访问数据库
一,什么是ADO.NET ADO.NET 是一种以面向对象的设计方法构建的数据访问和操作的类库,它建立在.NET平台上,以便于操作各种各样的数据源.这些数据源可以是数据库, 也可以是文本文件 ,EXC ...
- sql server 存储过程 output 和return的使用 方法,详解
SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 SQL Server2000的推出,微软的这种数据库服务系统真正地实现了在WindowsNT/2000 ...
- C#第三章
一.ImageList:存储图像集合 Images 存储的所有图像 ImageSize 图像的大小 ColorDepth 颜色数 TransparentColor 被视为透明的颜色 先设置ColorD ...
- 发布VS源码
发布VS源码步奏 先将Web.config设置修改一下 IP设置成点 文件名称设置成文件夹的名称,右键点击项目,点发布 勾选删除现有文件,点击发布 打开文件加 将文件解压成压缩包, 打 ...
- jq 字符串转数组
一般我们在添加关键词时 会添加几组关键词 上传时怎么取值呢 取值时用以下格式 就能取到值 var FTag = "" //AAA,BBB if (FTag1 != &qu ...
- KindEditor3.x-自动上传Word图片功能.
Chrome+IE默认支持粘贴剪切板中的图片,但是我要发布的文章存在word里面,图片多达数十张,我总不能一张一张复制吧?Chrome高版本提供了可以将单张图片转换在BASE64字符串的功能.但是无法 ...
- learning scala Case Classses
package com.aura.scala.day01 object caseClasses { def main(args: Array[String]): Unit = { // 注意在实例化案 ...