【Lodop】01 Lodop手册阅读上手
官方网站:
http://www.c-lodop.com/index.html
版本:6.2.2.6
一、概述
Lodop是一款用于WEB打印开发的专业WEB打印控件
控件发布包有3个系统文件组成,主要功能用3个控件参数和2组功能函数来实现。
二、系统文件
Lodop发布包内主要有如下三个安装文件:
1、install_lodop32.exe
2、install_lodop64.exe
3、CLodopPrint_Setup_for_Win32NT.exe
前两个是打印控件安装文件,第三个是云打印服务安装文件。
建议页面综合部署,即部分浏览器采用控件,另外浏览器采用云打印,该选择过程由LodopFuncs.js里的needCLodop();引导实现。
C-Lodop云打印32位安装文件可以适用于32位或64位操作系统,更详细的安装使用请参考《云打印C-Lodop技术手册》。
下载地址:
http://www.c-lodop.com/download.html
install_lodop32.exe 和 install_lodop64.exe
这俩文件是lodop控件安装和升级的主程序文件,
install_lodop32.exe适用于32位浏览器,install_lodop64.exe适用于64位浏览器,提供给用户或开发者下载安装。
如果不特意拦截一般都能100%安装,对“网页插件安装难”有彻底改善。
如果将其复制或改名为uninstall_lodop32.exe (或uninstall_lodop64.exe)就可用来卸载控件。
Lodop安装后,在操作系统Program Files\MountTaiSoftware\Lodop目录下会生成两个实体文件:
CAOSOFT_WEB_PRINT_LODOP.OCX
NPCAOSOFT_WEB_PRINT_LODOP.DLL
前一个是标准OCX文件,它是Lodop的功能核心,后者是一个NPPlugin文件,其作用是实现多浏览器支持。
目前Lodop支持:
IE系列、
IE内核系列(遨游、360、世界之窗、腾讯TT、搜狗等)浏览器,
Firefox(火狐)系列、
Chrome(谷歌)系列、
Opera系列、
Safari系列
等Windows下几乎所有的浏览器,通过云打印。
安装程序文件有几个预定参数:
-waitXX
该参数设置安装程序运行完毕后自动关闭窗口,这里的XX表示关闭前等待的秒数,如果是0秒则安装(或卸载)成功后立即关闭,例如: –wait8 -nowindow
该参数设置安装程序运行时不出现界面窗口(所谓的静默安装)。 -un
该参数使程序执行卸载操作,优先于文件名。 -in
该参数使程序执行安装操作,优先于文件名。
LodopFuncs.js
该文件是用来引导安装控件的一个JS文件,是个样例,但建议直接采用。
其中getLodop的任务是判断当前浏览器的类型并决定采用哪个对象实例,并检测控件是否安装、是否最新版本、并引导安装或升级,
加入了兼容C-Lodop云打印的检测信息。
文件主要内容如下:
//===判断是否需要安装CLodop云打印服务器(针对不支持np插件的浏览器)===
function needCLodop(){
try{
var ua=navigator.userAgent;
if (ua.match(/Windows\sPhone/i) !=null) return true;
if (ua.match(/iPhone|iPod/i) != null) return true;
if (ua.match(/Android/i) != null) return true;
if (ua.match(/Edge\D?\d+/i) != null) return true;
if (ua.match(/QQBrowser/i) != null) return false;
var verTrident=ua.match(/Trident\D?\d+/i);
var verIE=ua.match(/MSIE\D?\d+/i);
var verOPR=ua.match(/OPR\D?\d+/i);
var verFF=ua.match(/Firefox\D?\d+/i);
var x64=ua.match(/x64/i);
if ((verTrident==null)&&(verIE==null)&&(x64!==null))
return true; else
if ( verFF !== null) {
verFF = verFF[0].match(/\d+/);
if ( verFF[0] >= 42 ) return true;
} else
if ( verOPR !== null) {
verOPR = verOPR[0].match(/\d+/);
if ( verOPR[0] >= 32 ) return true;
} else
if ((verTrident==null)&&(verIE==null)) {
var verChrome=ua.match(/Chrome\D?\d+/i);
if ( verChrome !== null ) {
verChrome = verChrome[0].match(/\d+/);
if (verChrome[0]>=42) return true;
};
};
return false;
} catch(err) {return true;};
};
…
//====获取LODOP对象的主过程:====
function getLodop(oOBJECT,oEMBED){
…
var LODOP;
try{
…
if (LODOP.VERSION<"6.2.0.3") {
if (needCLodop())
document.documentElement.innerHTML=strCLodopUpdate+document.documentElement.innerHTML; else
if (is64IE) document.write(strHtm64_Update); else
if (isIE) document.write(strHtmUpdate); else
document.documentElement.innerHTML=strHtmUpdate+document.documentElement.innerHTML;
return LODOP;
};
//===如下空白位置适合调用统一功能(如注册语句、语言选择等):=== //===========================================================
return LODOP;
} catch(err) {alert("getLodop出错:"+err);};
};
关键点是VERSION函数,Lodop提供了这个“读版本号”功能,
这样控件的安装和升级任务就交给JS来实现,以下是控件在页面内的调用代码,
其中包含getLodop的使用:
<head>
<title></title>
<script language="javascript" src="LodopFuncs.js"></script>
<object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0>
<embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0></embed>
</object>
</head>
<body>
<script language="javascript">
var LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
</script>
…
</body>
以上两段代码相互配合实现了Lodop的安装、调用和升级。
之所以将LodopFuncs.js作为一个资源文件来部署,既可以利用浏览器的缓存减少页面内容的重复下载,同时还实现了控件发布统一管理,
整个应用系统中只要这一个地方发布Lodop,其它页面直接拷贝嵌入第2段代码就可以了。
三、控件参数
Lodop有如下控件参数,以页面object对象元素的参数形式使用:
Caption
名称:设置控件的显示标题 格式:<param name="Caption" value="我是打印控件lodop"> 功能: 控件在页面内一般是以object元素形式被引用。可以通过设置元素的width和height等于0来隐藏控件,不隐藏时可以为控件设置一个标题,以便于看到控件是否被正确安装,以及控件对象在页面内的位置。希望打印预览界面或设计界面内嵌到网页内时,本参数很有用。 |
Color
名称:设置控件的显示区域颜色 格式:<param name="Color" value="#C0C0C0"> 功能:通过该参数设置控件显示区域的底色,对于希望打印预览界面或设计界面内嵌到网页内时,本参数可以让控件容易融于整体页面。 参数值采用超文本颜色形式,可以是三色16进制值组合,也可以是英文颜色名。 |
Border
名称:设置控件的显示区域边界 格式:<param name="Border" value="1"> 功能:通过该参数设置控件显示区域的边界,值等于1表示有边界,否则无边界。本参数可以让控件更融于整体页面。 |
四、功能函数
Lodop的功能函数不多,但参数比较复杂。
全部函数分“基本函数”和“扩展函数”两类,两类函数有类似性,
基本函数使用简单,达不到要求时请使用扩展函数,二者无本质区别。
[详细描述不赘述,实际应用再另开一篇单独详细分析]
五、软件使用权注册
打印控件Lodop是一款专业共享软件,公开发行版本没有功能限制,多数用户可免费长期使用,仅如下功能需要注册使用权:
1、 (不经过预览的)“直接打印”功能;
2、 “导出数据到Excel文件” 功能;
不经注册使用以上功能时,打印输出结果的左下角会出现“本页由【试用版打印控件LodopX.0】输出”小字样水印。
Lodop注册号的价格表、购买方式和使用方法见:
http://www.c-lodop.com/Lodop_Lic.html
六、打印维护和打印设计
打印设计的目标用户是软件开发者,详细功能解释略。
打印设计用到的快捷键:
ctrl 选中; ctrl + delete 删除; ctrl + 方向键 移动微调; ctrl + 鼠标滑动 选中区域内打印项; ctrl + 打印对象,同时拖拉一个对象就复制了;
打印对象列中按住ALT键的同时拖拉改变对象的顺序位置。
打印维护的目标用户是页面操作者,详细功能解释略。
七、使用样例
演示样例参见发行文件包及其技术手册可从如下地址下载:
http://www.c-lodop.com/download.html http://www.mtsoftware.cn/download.html
八、计量单位
本文所述px单位固定换算关系如下,与像素类似但不是一个概念,也不受显示影响:
1in(英寸)=2.54cm(厘米)=25.4mm(毫米)=72pt(磅)=96px
另外一个特殊的计量单位“%(百分比)”,是指相对于纸张大小的百分比值,
其中“上、下边距、高度”等的百分比是相对于纸张高度(横向打印时则是宽度)的比值,
而“左、右边距和宽度”的百分比是相对于纸张宽度(横向打印时则是高度)的比值。
【Lodop】01 Lodop手册阅读上手的更多相关文章
- OpenDCIM-19.01操作手册
OpenDCIM-19.01操作手册 1. 界面标签解析 1.1 用户管理 用户管理 部门管理 用户管理被存在数据表fac_User中,包含以下字段: UserID:是管理员还是用户 Name:报表 ...
- SPI Flash Memory 芯片手册阅读
SPI Flash Memory 芯片手册阅读 信息来源
- FREERTOS 手册阅读笔记
郑重声明,版权所有! 转载需说明. FREERTOS堆栈大小的单位是word,不是byte. 根据处理器架构优化系统的任务优先级不能超过32,If the architecture optimized ...
- Shuffle'm Up 分类: 函数 POJ 查找 2015-08-09 17:01 6人阅读 评论(0) 收藏
Shuffle'm Up Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7529 Accepted: 3466 Descript ...
- 多校赛3- Solve this interesting problem 分类: 比赛 2015-07-29 21:01 8人阅读 评论(0) 收藏
H - Solve this interesting problem Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I ...
- Drainage Ditches 分类: POJ 图论 2015-07-29 15:01 7人阅读 评论(0) 收藏
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 62016 Accepted: 23808 De ...
- pascal矩阵 分类: 数学 2015-07-31 23:01 3人阅读 评论(0) 收藏
帕斯卡矩阵 1.定义 帕斯卡矩阵:由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵. 杨辉三角形表是二次项 (x+y)^n 展开后的系数随自然数 n 的增大组成的一个三角形表. 如4 ...
- MATLAB格式化输出控制 分类: 数学 2015-07-31 23:01 3人阅读 评论(0) 收藏
MATLAB格式化输出控制 format 默认格式 format short 5字长定点数 format long 15字长定点数 format short e 5字长浮点数 format long ...
- 快速幂取模 分类: ACM TYPE 2014-08-29 22:01 95人阅读 评论(0) 收藏
#include<stdio.h> #include<stdlib.h> //快速幂算法,数论二分 long long powermod(int a,int b, int c) ...
- Hdu 1429 胜利大逃亡(续) 分类: Brush Mode 2014-08-07 17:01 92人阅读 评论(0) 收藏
胜利大逃亡(续) Time Limit : 4000/2000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Subm ...
随机推荐
- bpmn.js
在 BPMN.js 中,$inject 属性通常用于声明依赖注入的模块列表.这些模块会在创建对象实例时由依赖注入框架(如 AngularJS)提供.以下是在 BPMN.js 中常见的一些 $injec ...
- ABC340
E 我们可以知道每一个点在每一轮加多少,具体如下: 假如现在操作的点的为 \(k\).那么所有的数都至少会加 \(\dfrac{A_k}{n}\).但是肯定有剩的,剩了 \(A_k \mod n\). ...
- C#.NET根据不同业务类别类型写入不同文件中,动态创建log4net实例验证
C#.NET根据不同业务类别类型写入不同文件中,动态创建log4net实例验证 参考了:https://www.cnblogs.com/-dawn/p/8598566.html GetLog4netI ...
- .htaccess伪静态规则
Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` .htaccess伪静态规则 日期:2017-12-4 阿 ...
- C++与Unity C#交互
C++与Unity C#交互 C++转C#小工具:https://github.com/jaredpar/pinvoke-interop-assistant C++ Custom.h #pragma ...
- JAVA Stream在jdk17下的例子
最近因为某些原因,又要用stream,所以耗费了一些时间,做了一些例子,以便自己后续参考. 环境: windows11 jdk 17 spring 2.6.7 Article类代码: package ...
- Linux-swap管理
什么是Swap Swap:交换空间,即虚拟内存,用于解决内存不足的问题. 在内存不足的时候,会将内存中不常使用的部分存入硬盘,使得内存得以腾出空间供新的程序使用. 那么,虚拟内存即为硬盘中的部分. S ...
- 在Linux驱动中使用LED子系统
在Linux驱动中使用LED子系统 原文:https://blog.csdn.net/hanp_linux/article/details/79037684 前提配置device driver下面的L ...
- android系统中log机制
android系统中log机制 背景 习惯了Linux开发的我,转到安卓以后,对于安卓开发的很多问题没有经验.看到同事解决问题都会看logcat,因此有必要了解一下这些东西. 介绍 Android提供 ...
- Android 7 默认声音/大小修改
背景 客户机器默认的开机声音一直很大:客户觉得无法接受,需要改小点. 基于Android 7的代码 前言 一般主要通过系统层来进行修改. 在系统关于音频的有关代码中,定义了两个数组: 注意,这些代码根 ...