LODOP指定window默认打印机和临时默认打印机
通过以下语句,可指定windows默认打印机
LODOP.SET_PRINT_MODE("WINDOW_DEFPRINTER",某打印机名或序号);
这种默认打印机是指的windows操作系统的默认打印机。
普通指定的方法就是进入windows的控制面板,然后进入打印机设备相关选项,在windows打印机列表里,选中需要设置的默认打印机,然后右键-选设置为默认打印机。这就是windows的默认打印机,在打印机列表里带有对号的就是默认打印机。
通过该语句,可以通过该语句修改windows默认打印机。
windows默认打印机的修改方法(图示)
除此之外,还有其他选择打印机方法,例如在页面获取打印机列表,让用户选择(相关博文:LODOP在页面让客户选择打印机、Lodop在页面获取打印机列表 选择打印机预览、C-Lodop获取打印机列表Create_Printer_List、LODOP设置打印机不存在不打印)
LODOP中还有一种是临时默认打印机,这种和windows默认打印机是不同的,注意区分。
临时默认打印机:LODOP.SELECT_PRINTER();,这种默认打印机选择后,刷新页面等操作,该默认打印机就会失效,需要重新选择。
通过该语句设置临时默认打印机后,该页面所有没有再代码里指定打印机的打印任务,都会使用该临时默认打印机打印,刷新或关闭页面后这个临时默认打印机就失效了。
但对于已经在任务里具体制定了打印机的,之前如果选择了临时默认打印机,LODOP和C-LODOP的表现是不同的。
测试步骤及结果:(如代码和图,有四个方法)
方法1:设置的windows默认打印机。
方法2:设置页面临时默认打印机
方法3:一个没在代码里指定具体打印机的任务。
方法4:一个在代码里指定了xps具体打印机的任务。
测试临时默认打印机,首先用方法2指定一下打印机,然后,在没指定的任务和指定了打印机的任务分别查看当前打印机。
LODOP效果:
1.没在代码指定具体打印机的,是选择的临时默认打印机。
2.在代码指定了具体的xps打印机的,是xps打印机。
C-LODOP效果:
1.没在代码指定具体打印机的,是选择的临时默认打印机;
2.在代码指定了具体的xps打印机的,还是选择的临时默认打印机。
注意:也就是c-lodop中,页面指定了临时默认打印机,即使在代码里重新指定新的打印机,也是没有效果的。
之前有人打印机指定语句书写正确,打印机名称也对,但是就是打印机不生效,后来发现原来在指定具体的打印机之前,他先在页面选择了临时默认打印机,而且走的是c-lodop方式,所以导致怎么也不生效。
选择了临时默认打印机,再指定打印机,相对于冲突了,c-lodop再指定没有效果,所以导致了这一现象,所以不要这样使用,选择打印机方法还很多,并有一定的优先级,后面会有博文介绍。
如果先用这个临时默认打印机,可以不再任务指定具体的打印机语句,因为选了这个临时打印机,相当于页面所有打印任务都是这个打印机了。虽然测试再lodop中可以重新指定,但是c-lodop不行,所以如果要用这个临时默认打印机,不再后面设置指定具体的打印机语句。
此临时打印机刷新页面关闭页面等,都会失效,所以也可以不用这种选择打印机方法。
测试代码:
<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>
<div id="d1">
内容
</div>
<a href="javascript:prn1_preview()">设置windows默认打印机为HP....</a><br>
<a href="javascript:prn2_preview()">页面选择临时默认打印机</a><br>
<a href="javascript:prn3_preview()">代码不指定打印机</a><br>
<a href="javascript:prn4_preview()">代码指定了打印机xps..</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1_preview() {//windows默认打印机
LODOP=getLodop();
LODOP.PRINT_INIT("");
if (LODOP.CVERSION) CLODOP.On_Return=function(TaskID,Value){alert(Value);};
var strResult=LODOP.SET_PRINT_MODE("WINDOW_DEFPRINTER","HP Color LaserJet 1600 Class Driver");
if (!LODOP.CVERSION) alert(strResult); };
function prn2_preview() {//页面临时默认打印机
LODOP=getLodop();
if (LODOP.CVERSION) {
LODOP.On_Return=function(TaskID,Value){if(Value>=0) alert("选择成功!"); else alert("选择失败!");};
LODOP.SELECT_PRINTER();
return;
};
if (LODOP.SELECT_PRINTER()>=0)
alert("选择成功!"); else alert("选择失败!"); };
function prn3_preview() {//代码不指定任何打印机
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.ADD_PRINT_HTM(0,0,"100%","100%",document.getElementById("d1").innerHTML);
LODOP.PRINTA();
//LODOP.PREVIEW();
};
function prn4_preview() {//在代码指定具体的打印机
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINTER_INDEX("Microsoft XPS Document Writer");//指定某虚拟打印机
LODOP.ADD_PRINT_HTM(0,0,"100%","100%",document.getElementById("d1").innerHTML);
LODOP.PRINTA();
//LODOP.PREVIEW();
}; </script>
</body>
图示:如图,这里就不实际输出了,直接用PRINTA,这个会弹出选择打印机框,不进行修改,可以查看到当前的打印机。
LODOP指定window默认打印机和临时默认打印机的更多相关文章
- C#获取本地打印机列表,并将指定打印机设置为默认打印机
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- C#Winfrom系统打印机调用/设置默认打印机
实现如下效果: 实现方式如下: using System;using System.Drawing.Printing;using System.Runtime.InteropServices;usin ...
- 如果没有指定Cookie的时效,那么默认的时效是。(选择1项)
如果没有指定Cookie的时效,那么默认的时效是.(选择1项) A.一天 B. 永不过期 C.会话级别 D.一分钟 解答:C 这是API的原文:By default, -1 indicating th ...
- maven 配置: 修改默认的 .m2仓库 默认存储路径.
maven 配置: 修改默认的 .m2仓库 默认存储路径. 一 .在系统maven里修改 1.在maven_HOME/conf/下找到配置文档 settings.xml 在文档中添加如下的配置说明 & ...
- Jenkins默认工作空间及更改默认工作空间
1.Jenkins安装到tomcat 需2步: ①官网下载Jenkins(一个war包) ②安装 所谓安装,也有两种形式: 一是在安装了jdk的情况下直接运行:java -jar jenkins.wa ...
- 演示默认学习用户scott,默认密码是tiger
默认学习用户scott,默认密码是tiger oracle@prd:/home/oracle$sqlplus /nolog SQL> conn scott/tiger ERROR: ORA-28 ...
- C# 调用指定打印机 (并不是默认)
this.printDocument1.PrinterSettings.PrinterName = "Microsoft XPS Document Writer"; this.pr ...
- Linux或Window是修改snmp的默认端口
SNMP默认端口通讯使用 UDP 161,在安装一些监控软件的过程中,常常提示端口被占用等情况,下面说一下如何修改系统的默认SNMP端口 windows修改snmp端口 1 打开services文件 ...
- linux中sftp默认登录的端口号是多少? sftp通过指定的端口号连接?sftp默认端口号
需求描述: 今天一个同事,遇到个问题,程序连接sftp服务器连接不上,问我端口号是多少, 我想了一下是21还是22,所以就做了测试,发现sftp默认的连接端口号是22, 在此做下记录. 操作过程: 1 ...
随机推荐
- SpringBoot测试Controller层
一.准备工作 1.导入测试依赖 <dependency> <groupId>org.springframework.boot</groupId> <artif ...
- spring-data-jpa一对多多对一多对多关联
一对多.多对一 Country类 @Entity @Table(name = "Country") public class Country { @Id //sequence id ...
- 如何更好的使用js?
JavaScript 可以说是交互之王,它作为脚本语言加上许多 Web Api 进一步扩展了它的特性集,更加丰富界面交互的可操作性.这类 API 的例子包括WebGL API.Canvas API.D ...
- terminal mvn 打包
命令: mvn clean install -Dmaven.test.skip=true
- cube.js 学习(五)cube.js joins 说明
cube.js 也支持join, 参考格式 joins: { TargetCubeName: { relationship: `belongsTo` || `hasMany` || `hasOne ...
- 关于size
关于size它确实可以帮人算内存 但是: 在不会用到整个数组(尤其是在状压的时候) 不要用它,它只能算你申请了多少内存,但算不了会用多少!!! and 有人能告诉我,交题前不好好看看交的哪份代码是什么 ...
- [ThinkPHP6.*安装 (草稿先发布,再维护)
ThinkPHP6.0的安装,官方文档中有详细的说明,不过在安装之前,大家还是要做一些准备的,就是PHP本地开发环境 的搭建. 官方手册地址:https://www.kancloud.cn/manua ...
- 数据结构Java版之递归与迭代算法(五)
递归的概念很简单,就是自己调用自己. 而迭代,则是通过修改初始化数据,得到中间结果,然后不断的对中间结果进行修改,而得到最终结果.简单来说迭代就是循环. 在此,我们用一个比较经典的Fibonacci数 ...
- various system release [online]
1. 金丝雀发布 Canary 简单的金丝雀测试一般通过手工测试验证,复杂的金丝雀测试需要比较完善的监控基础设施配合,通过监控指标反馈,观察金丝雀的健康状况,作为后续发布或回退的依据. 金丝雀发布,一 ...
- linux下查看指定进程的所有连接信息(转)
定位某个进程的网络故障时经常需要用到的一个功能就是查找所有连接的信息.通常查找某个端口的连接信息使用 ss 或者 netstat 可以轻松拿到,如果是主动与别的机器建立的连接信息则可以通过 lsof ...