LODOP设置打印机不存在不打印
LODOP中打印机的选择有优先级的存在,如果程序中指定的是错误的打印机,那么会走下一个优先级,这样,就可能存在选择了打印机无效,从默认打印机打印出来了,可以在代码里加判断避免这一点。
打印机优先级简介:
第一优先级:SET_PRINTER_INDEX等程序代码里指定的打印机。
第二优先级:上次在预览界面的打印设置中选择的打印机,Lodop按任务名对应记忆下来。
第三优先级:操作系统选择的默认打印机。
默认打印机优先级最低,当前两个优先级不存在或没生效时,会走最低的默认打印机优先级。
可以在预览或打印前,判断一下打印机是否存在,决定是否执行预览或打印命令,这种方法可避免走优先级输出到不必要的打印机上。
以下是lodop和c-lodop测试判断和不判断的区别和结果。(以PREVIEW预览为例)
lodop插件方式、不加判断:(弹出两次,一次提示不存在,关闭后弹出预览窗口)
第一步:弹出提示 打印机“(具体打印机名称或序号)”不存在。
第二步:关闭提示,点确定或叉号,弹出预览窗口。
lodop插件方式、加判断:(弹出一次,提示打印机不存在,不会弹出预览窗口)
弹出提示 打印机“(具体打印机名称或序号)”不存在。
不再弹出预览窗口。
c-lodop方式、不加判断:(弹出一次,弹出预览窗口)
弹出预览窗口。
c-lodop方式、加判断:(弹出0次,什么也不弹出)
不弹出预览窗口。
由于没设置任务名,也没上次预览的记录,所以当程序里指定一个错误的不存在的打印机的时候,以上测试中弹出预览的均为默认打印机,也就是走了其他优先级。
这样,如果打印的时候打印机不存在,就会出现在其他打印机打印的情况。
加了判断后的效果:
lodop弹出 打印机“(具体打印机名称或序号)”不存在,c-lodop什么也不弹出。
加了判断后,两者都不再走其他优先级进行预览或打印,避免了在其他打印机输出的情况。
具体方法:在打印或预览前判断一下打印机是否存在,不存在不执行打印方法,存在再执行。
if (LODOP.SET_PRINTER_INDEX("打印机名或序号"))//不存在的打印机
LODOP.PREVIEW();//判断为假,不执行该句
测试代码:
本人本机Brother Color Type3 Class Driver存在,在该打印机名称后面加了个1,Brother Color Type3 Class Driver1这个名称的打印机名称就不存在了。
<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_preview()">打印预览</a><br>
<a href="javascript:prn2_preview()">打印预览(加了判断的)</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1_preview() {
LODOP=getLodop();
LODOP.PRINT_INITA(12,13,500,300,"");
LODOP.SET_PRINTER_INDEX("Brother Color Type3 Class Driver1");//不存在的打印机
LODOP.ADD_PRINT_TEXT(10,10,100,20,"新加文本1");
LODOP.PREVIEW();
};
function prn2_preview() {
LODOP=getLodop();
LODOP.PRINT_INITA(12,13,500,300,"");
LODOP.ADD_PRINT_TEXT(10,10,100,20,"新加文本1");
if (LODOP.SET_PRINTER_INDEX("Brother Color Type3 Class Driver1"))//不存在的打印机
LODOP.PREVIEW();
};
</script>
</body>
图示:
LODOP设置打印机不存在不打印的更多相关文章
- LODOP纸张/打印机/份数/打印方向/双面打印 简短问答
纸张#如何设置纸张纸张设置,参考样例5 http://www.c-lodop.com/demolist/PrintSample5.html纸张的一些优先级 http://www.c-lodop.com ...
- LODOP设置同一个任务发送到不同打印机
前面的博文Lodop打印语句最基本结构介绍(什么是一个任务),一个任务只能有一个打印语句(最后PRINT,PRINTA,PREVIEW等),如果执行多个,LODOP会弹出多次,C-LODOP会提示窗口 ...
- LODOP设置打印份数及是否逐份输出
LODOP中通过SET_PRINT_COPIES可以设置打印份数,例如:LODOP.SET_PRINT_COPIES(2);//指定份数为2份 如果一个任务里有多页,打印份数的时候,有两种输出方式,一 ...
- LODOP获取打印机状态码和状态码含义测试
由于打印机千差万别,打印机执行的标准也不一样,LODOP获取的打印状态码也可能不同,安装了个打印机驱动实际测试一下,测试的打印机驱动是Brother Color Type3 Class Driver. ...
- LODOP不同打印机出现偏移问题
方法简单描述:1.精确套打,设置以纸张边缘为基点,可避免不同可打区域不同带了的影响.2.不同客户端打印机位置差异,可通过打印维护调整,结果在客户端本地.或调整打印机初始位置(本人使用的金税盘的开票软件 ...
- LODOP设置纸张无效问题
有的打印机不支持自定义纸张,或不支持当前设置的纸张尺寸,会造成纸张尺寸和代码里设置的尺寸不一致的情况.现象:1.代码一样,纸张语句设置正确,有的打印机纸张正常,有的打印机不正常.2.代码一样,纸张语句 ...
- LODOP设置判断后执行哪个
LODOP的语句是普通的语句,可以通过JS判断确定要执行哪个,或通过循环循环执行一些语句.如果需要执行某些打印项在哪些条件下不打印,不需要通过代码删除打印项,类似LODOP.SET_PRINT_STY ...
- Java实现POS打印机自定义无驱打印
Java实现POS打印机自定义无驱打印 热敏打印机使用越来越广泛,而安装驱动相当复杂,万幸的是,几乎所有的热敏打印机都支持ESC/P指令,参考网络上一些资料后,在此整理了一份自定义打印的方案 • 打印 ...
- 设置打印机共享,适用Win7、Vista、xp,不用密码
此处以HP M1213nf为例,其他型号大同小异. 1.设置打印机共享: "开始"→ "控制面板"→ "设备和打印机" 2.找到&quo ...
随机推荐
- Windows下pip命令无法使用的解决办法
今天遇见了一个pip相关的问题 如下 我的python环境变量也有,但是还是无法使用pip 经过一位大佬的点播使用,使用python -m ensurepip这个命令可以检查 在cmd下运行自动完成p ...
- 环境部署(七):linux下Jenkins+Git+JDK持续集成
前面几篇博客介绍了linux下安装Jenkins.Git.JDK以及Git基础教程和Git关联github等内容,这篇博客,介绍下如何在linux服务器中利用它们构建持续集成环境... 一.准备工作 ...
- face detection[Face R-CNN]
face r-cnn是腾讯ai实验室的作品,而且登录过腾讯ai实验室官网,发现果然硕果累累,不得不佩服. 1 引言 人脸检测虽然相对之前有了不小的进步,可是还是因为真实世界中人脸图像的明显变化导致仍然 ...
- Kano模型告诉你“是不是只要企业努力的提高产品或服务质量,顾客满意度就一定会提高吗?”
在 PO在敏捷需求下要遵守哪6条重要原则? 中讲到探索和交付两大阶段的6个原则 其中在原则[做有价值的需求]中讲了两个方法:BSA分析和产品Backlog 其中BSA分析是我在产品规划阶段常使用的 ...
- 在windows下安装Redis
一.下载windows版本的Redis 由于官网上没有windows版的下载地址,所以需要下载windows版本的Redis有以下两个地址: 博主的csdn资源地址:http://download.c ...
- 实现RunOnUiThread和RunOnUiThreadBlock
现在需要实现一个工具类,RunUtils,这个类中包含runOnUiThread(Context context, Runnable runnable)和runOnUiThreadBlock(Cont ...
- MySQL表结构变更,不可不知的Metadata Lock
在线上进行DDL操作时,相对于其可能带来的系统负载,其实,我们最担心的还是MDL其可能导致的阻塞问题. 一旦DDL操作因获取不到MDL被阻塞,后续其它针对该表的其它操作都会被阻塞.典型如下,如阻塞稍久 ...
- H5 60-浮动元素排序规则
60-浮动元素排序规则 <!DOCTYPE html><html lang="en"><head> <meta charset=" ...
- 帮助小白,最新版JDK的安装与环境变量配置(Win 10系统)
学习JAVA,必须首先安装一下JDK(java development kit java开发工具包),之后再配置环境变量就可以开始使用JAVA了. 一,安装JDK 1,可以选择到官网下载最新版本的JD ...
- VO和DO转换(三) Dozer
VO和DO转换(一) 工具汇总 VO和DO转换(二) BeanUtils VO和DO转换(三) Dozer VO和DO转换(四) MapStruct 可参考的资料: dozer官网 Dozer(Jav ...