云打印C-Lodop技术手册2.1.1.2

更新时间:2024-02-01 05:48:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C-Lodop 技术手册

C-Lodop技术手册

Ver 2.1.1.2

Email: gungho999@sina.com

QQ: 932131686 梦泰尔软件(中国) MTSoftware(CN)

C-Lodop 技术手册

目 录

一、概述 ................................................................................................................................................................- 3 - 二、安装 ................................................................................................................................................................- 5 -

C-Lodop的32位安装文件:.......................................................................................................................- 5 - C-Lodop的64位安装文件:.......................................................................................................................- 5 - C-Lodop的32位安装文件(适应https协议): .....................................................................................- 5 - 安装后的运行文件: ....................................................................................................................................- 5 - 安装后的设置窗口 ........................................................................................................................................- 6 - 安装后的欢迎页面 ........................................................................................................................................- 7 - 三、调用: ............................................................................................................................................................- 8 -

加载云打印JS文件的简单方法 ..................................................................................................................- 8 - 动态加载云打印JS文件 ..............................................................................................................................- 8 - 云打印JS文件的优先级 ..............................................................................................................................- 8 - 加载多个云打印JS文件 ..............................................................................................................................- 9 - 获取LODOP对象 .........................................................................................................................................- 9 - 四、功能函数 ......................................................................................................................................................- 10 -

Create_Printer_List ......................................................................................................................................- 10 - Create_PageSize_List ...................................................................................................................................- 10 - On_Return ....................................................................................................................................................- 10 - On_Return_Remain ...................................................................................................................................... - 11 - On_CLodop_Opened ................................................................................................................................... - 11 - demoCreateCLodopJSscript .........................................................................................................................- 12 - PREVIEW ....................................................................................................................................................- 12 - 五、 升级 ............................................................................................................................................................- 14 - 六、 https调用C-Lodop ....................................................................................................................................- 16 -

安装文件 ......................................................................................................................................................- 16 - 服务端口 ......................................................................................................................................................- 16 - 进入https服务欢迎页 ................................................................................................................................- 16 - 安装后的运行文件 ......................................................................................................................................- 17 - 判断https服务 ............................................................................................................................................- 18 - 七、 特注 ............................................................................................................................................................- 18 -

C-Lodop 技术手册

一、概述

C-Lodop云打印是梦泰尔软件(MTSoftware)推出的一款精巧快捷的云打印服务产品,以Lodop功能语句为基础,开创了JS语句实现远程打印的先河,为“移动设备+Wifi+普通打印机+集中打印”奠定了编程基础。

C-Lodop对客户端浏览器要求很低,几乎支持任何现代浏览器,除了Windows平台上的Chrome(谷歌)、FireFox(火狐)、Opera、Safari、IE、edge几大系列及其外壳浏览器(如QQ浏览器、搜狗、360、UC等等)之外,客户端还支持“平板电脑”和“智能手机(无需安装APP)”以及Linux、OS(Mac)上的浏览器。

C-Lodop可扮演两种角色,第一种是在Windows客户端PC本机上安装,从而替代Lodop控件功能,这也是常见基本用法;另一种角色是单独部署云服务器,适合后台集中打印。 在第一种角色中,建议“云打印+控件”组合搭配使用。

1)C-Lodop与Lodop搭配示意图:

Web服务器普通打印机(网络共享)网 络C-LodopLodop本地打印机浏览器(不支持插件)浏览器(支持插件)客户端(C-lodop与Lodop搭配部署)

(图1-1)

2)C-Lodop独立部署示意图:

- 3 -

C-Lodop 技术手册

普通打印机(本地)普通打印机(本地)普通打印机(网络共享)C-Lodop云主机2(windows)WEB服务器C-Lodop云主机1(windows)网络intranet(wifi)PC(Linux/mac..)PC(windows2000/xp/win7/win8/win10)Pad(iOS/Windows/Android )智能手机(Android/IOS/WindowsPhone)访 问 设 备(客户端/所有浏览器)(图1-2)

- 4 -

C-Lodop 技术手册

二、安装

C-Lodop的32位安装文件:

文件名是CLodopPrint_Setup_for_Win32NT.exe 可同时在32位和64位Windows操作系统上安装,适应面较广。

C-Lodop的64位安装文件:

文件名是CLodopPrint_Setup_for_Win64NT.exe 只能在64位Windows操作系统上安装,性能较高,适合单独部署。

C-Lodop的32位安装文件(适应https协议):

文件名是CLodop_Setup_for_Win32NT_https.exe可同时在32位和64位Windows操作系统上安装,适应面较广。

安装后的运行文件:

以32位文件为例:

1、文件路径:

Program Files (x86)\\MountTaiSoftware\\CLodop32

2、云打印服务主文件:

CLodopPrint32.exe

3、免登录启动服务文件:

CLodopService32.exe

4、样例目录

Program Files (x86)\\MountTaiSoftware\\CLodop32\\Rootdir\\CLodopDemos 样例中有一个LodopFuncs.js文件很关键,建议尽量分析理解透彻。

- 5 -

C-Lodop 技术手册

安装后的设置窗口

正常安装成功后,首先会弹出如下提示窗口:

(图2-1)

这也是管理设置窗口,以后可以从Windows如下菜单重新进入以上界面。

(图2-2)

在管理设置界面中,通过“设置->端口设置”菜单进入下面的对话窗口进行端口设置,默认端口是8000和18000,如果是https安全协议版,默认是8443端口:

(图2-3)

- 6 -

C-Lodop 技术手册

安装后的欢迎页面

点击以上(图2-1)圈定的按钮链接,进入如下欢迎页面:

(图2-4)

如(图2-4)红框中连接进入,可验证全部传统例子在c-lodop中的应用情况。

- 7 -

C-Lodop 技术手册

三、调用:

加载云打印JS文件的简单方法

调用C-Lodop很简单,在页面head中 添加 如下路径的js文件,就可以向其发打印请求了,如下几个例子都可以在欢迎页面或Lodopfuncs.js这个样例文件里找到:

这里的红色部分是固定内容,Host地址是指安装C-Lodop的主机地址,可以是其IP地址或域名,如果是本地(第二种角色)打印,该值用localhost、127.0.0.1或主机名代替,端口默认是8000、18000双端口(页面可以引用之一或同时引用),双端口服务的优势是当其中一个端口失效时,另一端口可继续工作,保证程序正常运行。单独部署时,也可以修改该端口值,如:

动态加载云打印JS文件

为了方便控制或兼容老程序,以上静态方法可以用如下动态语句替代,效果一样:

var oscript = document.createElement(\

oscript.src =\

var head = document.head || document.getElementsByTagName(\ head.insertBefore( oscript,head.firstChild ); LodopFuncs.js中动态加载如图(3-1):

图(3-1)

云打印JS文件的优先级

- 8 -

C-Lodop 技术手册

以上引用方法的参数priority设置的是优先级,优先级值是从0开始的阿拉伯数字,数字越大,优先级越高,默认是0。当一个页面按后续章节同时引用多个云主机时,优先级设置很关键,否则会按下载顺序来处理。

加载多个云打印JS文件

如果一个页面通过以上语句同时引用了俩云主机,通常后一个引用会覆盖前一个引用,其先后顺序是以下载js速度快慢为准,此时如果页面希望其中一个引用有更高的优先级,可以用url参数priority来控制,该参数值越大优先级越高,默认值为0,例如:

这也是C-Lodop默认安装例子演示时,既可以让手机浏览器访问,也可以让电脑访问的神奇原因。如果希望页面的两个引用同时存在(不相互覆盖),则需要用url的参数name来区分,例如:

此时调用打印时,不再用LODOP这个默认的JS变量名,而是用LODOPA或LODOPB,二者分别向不同的云主机发打印指令,LODOPA指向192.168.1.1,而LODOPB指向192.168.1.2,以此类推。

获取LODOP对象

引用以上js文件后,就可以在页面程序里通过getCLodop(注意:如果C-Lodop与Lodop按图1搭配使用,要使用Lodopfuncs.js示中的getLodop,其中就包含了getCLodop语句的调用)函数获取主

对象,赋值给一个普通JS变量,为了兼容已经开发好的打印程序,仍然统一用LODOP这个变量名:

var LODOP=getCLodop();

有了该对象之后,就可以调用云打印功能语句了,如

LODOP.PRINT(); LODOP.PREVIEW();

LODOP.PRINT_DESIGN(); 更多语句参考后面的功能函数介绍。

- 9 -

C-Lodop 技术手册

四、功能函数

C-Lodop的功能函数几乎涵盖了Lodop的所有语句,它们的详细功能说明参考《WEB打印控件Lodop技术手册》。除此之外,新增了部分与页面整合相关的函数和属性,还有个别语句的参数值有所扩展,详解如下:

Create_Printer_List

作用:C-Lodop函数之一,获得云主机链接的所有打印机名单,并添加到当前页面某个Select

标签元素中。Lodop控件无该同名函数。 格式:Create_Printer_List(oElement);

参数:oElement 目标对象(已经存在的某个Select标签元素)

举例:CLODOP.Create_Printer_List(document.getElementById('Select01'));

Create_PageSize_List

作用:C-Lodop函数之一,获得目标打印机所拥有的纸张类型名单,并添加到当前页面某个

Select标签对象元素中。Lodop控件无该同名函数。 格式:Create_PageSize_List(oElement, iPrintIndex);

参数:oElement 目标对象(已经存在的某个Select标签元素) iPrintIndex目标打印机在windows系统内的序号

(操作系统对所添加打印机的顺序编号,从0开始)

举例:CLODOP.Create_PageSize_List(document.getElementById('Select03'), 2);

On_Return

作用:C-Lodop属性之一,设置那些需要返回结果的动作语句在获得结果时触发的回调函数。Lodop控件无该同名函数。

格式:On_Return=function(TaskID,Value){...};

说明:和Lodop相比,C-Lodop的动作语句不再立即返回执行结果,而是返回一个任务编号,

页面程序在回调函数中通过该编号来区分是哪个语句返回的结果,并根据结果值在该回调函数中进行下一步的处理。

参数:TaskID 后续动作语句的任务编号,进一步参考后面On_Return_Remain的使用。 Value该动作语句返回的结果值,类型为逻辑真假值或字符串值。 举例: ....

LODOP.On_Return=function(TaskID,Value){

if (Value) alert(\已发出实际打印命令!\放弃打印!\ }; LODOP.PRINTA(); //这是一个典型的动作语句

- 10 -

C-Lodop 技术手册

On_Return_Remain

作用:C-Lodop属性之一,让所设置的回调函数持续保留,对后续多个动作都有效。Lodop控件无该同名函数

格式:On_Return_Remain=真假值;

说明:正常情况下,回调函数执行完毕后会自动销毁(也就是本属性默认值是false),而本

属性设置为真值就可以阻止其销毁,从而让后面的所有动作语句都触发同一个回调函数,在回调函数中用TaskID的值来区分是哪个动作触发的回调。 举例:

var TaskID1,TaskID2

LODOP. On_Return_Remain=true;

LODOP.On_Return=function(TaskID,Value){ if (TaskID== TaskID1) {

alert(\判断是否打印成功的结果是:\ } else if (TaskID== TaskID2) {

alert(\判断打印任务是否还存在的结果是:\ }; };

TaskID1=LODOP.GET_VALUE(\ TaskID2=LODOP.GET_VALUE(\

On_CLodop_Opened

作用:C-Lodop属性之一,该事件在页面websocket建立完毕并准备好时触发。Lodop控件无该同名函数。

格式:On_ CLodop_Opened =function(Opener);

说明:页面程序可以把调用打印的过程放在该事件中,避免因为过早打印造成“C-Lodop未

准备好”的频繁提示,同时也能尽快打印。事件触发正常工作之后,建议重置该属性为null。 举例1:

if (needCLodop()) { window.On_CLodop_Opened=function(){ OpenPreview(); //执行打印预览 window.On_CLodop_Opened=null; }; } else window.onload = function(){OpenPreview();};

举例2:页面引用多个C-Lodop时,window.On_CLodop_Opened加Opener参数区分,例如; window.On_CLodop_Opened=function(Opener){

if (Opener===CLODOPA) alert(\打开了\ else alert(\是另一个打开了\

- 11 -

C-Lodop 技术手册

demoCreateCLodopJSscript

作用:C-Lodop典型例子函数之一,在当前页面动态引入C-Lodop的js文件CLodopfuncs.js,

引入时清理掉此前的其它引用,从而唯一选择云主机。 格式:demoCreateCLodopJSscript(strSrc);

参数:strSrc 参数值为目标云主机的script标签,其格式为: 也可以仅是src值部分:

http://Host地址:端口//CLodopfuncs.js 举例:

demoCreateCLodopJSscript (\或

demoCreateCLodopJSscript (\

与前面说的在页面能同时引用多个云主机相比,本函数的动态选择比较常见,毕竟客户输出的目标打印机往往是很明确的。

PREVIEW

作用:打印预览语句扩展了三个参数oView,iW,iH 格式:PREVIEW(oView,iW,iH) 功能:以某种样式进行打印预览。 参数:参数值及其含义

oView:让预览窗口内含在当前页面内(而不是弹窗),这里的“内含”不同于插件“内嵌”模式,进一步的内含样式有如下几种可选:

_dialog:弹出对话框 _blank :新窗口 _self:在本窗口 _top :新窗口 _parent:本窗口

具体ID值:在某个现有iframe元素内(需要提前在页面内增加该iframe) iW:预览窗口显示时的宽度值(px); iH:预览窗口显示时的高度值(px);

举例:LODOP.PREVIEW(\//在新的浏览器窗口显示打印预览 (注意浏览器阻止设置对其仍然有效)

LODOP.PREVIEW(\//在ID等于“001”的iframe元素内显示打印预览

HTTPS_STATUS

作用:判断是否安装了C-Lodop服务的变量值。Lodop控件无该同名函数。 格式:HTTPS_STATUS

- 12 -

C-Lodop 技术手册

功能:支持安全通讯协议https,默认端口是8443,采用单独的安装程序,仅支持localhost域

名;页面通过CLODOP.HTTPS_STATUS属性判断是否安装https服务: 参数:参数值及其含义

0-没安装 1-已安装 2-安装且已启动。 举例: if (CLODOP.HTTPS_STATUS>=1) {

alert(\本地已安装https版C-Lodop!\} else

alert(\本地安装的不是https版C-Lodop!\

- 13 -

C-Lodop 技术手册

五、升级

Lodop 6218发行包里包含“install_lodop32.exe”、“install_lodop64.exe”、 “CLodopPrint_Setup_for_Win32NT.exe”这3个安装文件和50个小例子及其JS文件。

文件“CLodopPrint_Setup_for_Win32NT.exe”是云打印“C-Lodop”的主安装文件,如果是配合部署需三个文件(见图1),如果单独部署只需这一个文件 。

由于云打印兼容控件传统语句,所以开发者要把自己的web系统由Lodop6.1xx升级到新版本(6.2xx+云打印)还是比较容易的,升级主要步骤有三个:

第一、更新Lodopfuncs.js这个文件。这虽说是一个js例子,但对多数人来说最好直接使用它,此前已经自行编写getLodop过程的开发者需要理解本次变化后充实改进一下。其变化主要是增加了判断哪些浏览器调用传统控件,哪些浏览器调用C-Lodop云打印,并动态添加支持云打印的新js文件。

如果升级为全面采用云打印(不再使用控件),即单独部署C-Lodop云打印,可修改如下

函数直接返回true

源代码如下(注意红色代码变化):

//====判断是否需要安装CLodop云打印服务器:==== 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;

... ...

};

return false;

} catch(err) {return true;}; };

修改后如下:

//====判断是否需要安装CLodop云打印服务器:==== function needCLodop(){ try{ };

return true;

} catch(err) {return true;};

- 14 -

C-Lodop 技术手册

第二、C-Lodop语句对字母大小写敏感,要求大写。此前控件例子中虽然都是大写,但小写或混合也是勉强可以的,但现在不行了,必须全是大写,例如LODOP.PRINT()写成LODOP.print()是非法的。

第三、云打印语句返回结果的方式不一样,要指定回调函数。此前控件语句本身会“同步返回结果\,而新的云打印前后指令不在同一个程序进程里,所以采用“异步回调函数”,函数名叫On_Return。这个改动涉及面稍广,但做起来也不难,参考如下举例(样例4),只需在原来(蓝色)代码前面增加这段新(红色)代码,如此以来就可以让页面程序同时兼顾老版本控件和新的云打印:

if (LODOP.CVERSION) { //用CVERSION属性判断是否云打印 LODOP.On_Return=function(TaskID,Value){

if (Value) alert(\已发出实际打印命令!\放弃打印!\ };

LODOP.PRINTA(); return; };

if (LODOP.PRINTA())

alert(\已发出实际打印命令\else

alert(\放弃打印\

- 15 -

C-Lodop 技术手册

六、https调用C-Lodop

C-Lodop云打印支持https协议,需要安装特殊版本,该版本的安装和端口详情如下:

安装文件

文件名称:CLodop_Setup_for_Win32NT_https_2.112.exe; 注意文件名称中包含https字样。

服务端口

默认情况下http服务和https服务的端口差值443,即:

http服务端口默认8000; https服务端口默认8443;

端口8443与其他服务冲突时,自动变大。 页面引用方式举例如下:

Top