云打印CLodop技术手册.docx

上传人:b****0 文档编号:17975837 上传时间:2023-08-05 格式:DOCX 页数:17 大小:389.73KB
下载 相关 举报
云打印CLodop技术手册.docx_第1页
第1页 / 共17页
云打印CLodop技术手册.docx_第2页
第2页 / 共17页
云打印CLodop技术手册.docx_第3页
第3页 / 共17页
云打印CLodop技术手册.docx_第4页
第4页 / 共17页
云打印CLodop技术手册.docx_第5页
第5页 / 共17页
云打印CLodop技术手册.docx_第6页
第6页 / 共17页
云打印CLodop技术手册.docx_第7页
第7页 / 共17页
云打印CLodop技术手册.docx_第8页
第8页 / 共17页
云打印CLodop技术手册.docx_第9页
第9页 / 共17页
云打印CLodop技术手册.docx_第10页
第10页 / 共17页
云打印CLodop技术手册.docx_第11页
第11页 / 共17页
云打印CLodop技术手册.docx_第12页
第12页 / 共17页
云打印CLodop技术手册.docx_第13页
第13页 / 共17页
云打印CLodop技术手册.docx_第14页
第14页 / 共17页
云打印CLodop技术手册.docx_第15页
第15页 / 共17页
云打印CLodop技术手册.docx_第16页
第16页 / 共17页
云打印CLodop技术手册.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

云打印CLodop技术手册.docx

《云打印CLodop技术手册.docx》由会员分享,可在线阅读,更多相关《云打印CLodop技术手册.docx(17页珍藏版)》请在冰点文库上搜索。

云打印CLodop技术手册.docx

云打印CLodop技术手册

 

C-Lodop技术手册

 

 

Ver2.0.9.0

 

Email:

gungho999@

QQ:

932131686

梦泰尔软件(中国)

MTSoftware(CN)

 

 

一、概述

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搭配示意图:

(图1-1)

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

(图1-2)

 

二、安装

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、文件路径:

ProgramFiles(x86)\MountTaiSoftware\CLodop32

2、云打印服务主文件:

CLodopPrint32.exe

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

CLodopService32.exe

4、样例目录

ProgramFiles(x86)\MountTaiSoftware\CLodop32\Rootdir\CLodopDemos

样例中有一个LodopFuncs.js文件很关键,建议尽量分析理解透彻。

安装后的设置窗口

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

(图2-1)

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

(图2-2)

在管理设置界面中,通过“设置->端口设置”菜单进入下面的对话窗口进行端口设置,默认端口是8000和18000:

(图2-3)

安装后的欢迎页面

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

(图2-4)

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

 

三、调用:

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

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

//Host地址:

8000/CLodopfuncs.js”>

这里的红色部分是固定内容,Host地址是指安装C-Lodop的主机地址,可以是其IP地址或域名,如果是本地(第二种角色)打印,该值用localhost、127.0.0.1或主机名代替,端口默认是8000冗余18000端口(单独部署时,可以自行指定自己的端口),如:

//192.168.1.1:

8000/CLodopfuncs.js”>

//Localhost:

8000/CLodopfuncs.js”>

动态加载云打印JS文件

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

varoscript=document.createElement("script");

oscript.src="http:

//localhost:

8000/CLodopfuncs.js?

priority=1";

varhead=document.head||document.getElementsByTagName("head")[0]||document.documentElement;

head.insertBefore(oscript,head.firstChild);

云打印JS文件的优先级

//Localhost:

8000/CLodopfuncs.js?

priority=1”>

以上引用方法的参数priority设置的是优先级,优先级值是从0开始的阿拉伯数字,数字越大,优先级越高,默认是0。

当一个页面按后续章节同时引用多个云主机时,优先级设置很关键,否则会按下载顺序来处理。

加载多个云打印JS文件

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

//192.168.1.6:

8000/CLodopfuncs.js”>

//Localhost:

8000/CLodopfuncs.js?

priority=1”>

这也是C-Lodop默认安装例子演示时,既可以让手机浏览器访问,也可以让电脑访问的神奇原因。

如果希望页面的两个引用同时存在(不相互覆盖),则需要用url的参数name来区分,例如:

//192.168.1.1:

8000/CLodopfuncs.js?

name=LODOPA'>

//192.168.1.2:

8000/CLodopfuncs.js?

name=LODOPB'>

此时调用打印时,不再用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这个变量名:

varLODOP=getCLodop();

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

LODOP.PRINT();

LODOP.PREVIEW();

LODOP.PRINT_DESIGN();

更多语句参考后面的功能函数介绍。

 

四、功能函数

C-Lodop的功能函数几乎涵盖了Lodop的所有语句,它们的详细功能说明参考《WEB打印控件Lodop技术手册》。

除此之外,新增了部分与页面整合相关的函数和属性,还有个别语句的参数值有所扩展,详解如下:

Create_Printer_List

作用:

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

格式:

Create_Printer_List(oElement);

参数:

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

举例:

CLODOP.Create_Printer_List(document.getElementById('Select01'));

Create_PageSize_List

作用:

C-Lodop函数之一,获得目标打印机所拥有的纸张类型名单,并添加到当前页面某个Select标签对象元素中

格式:

Create_PageSize_List(oElement,iPrintIndex);

参数:

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

iPrintIndex目标打印机在windows系统内的序号

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

举例:

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

On_Return

作用:

C-Lodop属性之一,设置那些需要返回结果的动作语句在获得结果时触发的回调函数

格式:

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

说明:

和Lodop相比,C-Lodop的动作语句不再立即返回执行结果,而是返回一个任务编号,页面程序在回调函数中通过该编号来区分是哪个语句返回的结果,并根据结果值在该回调函数中进行下一步的处理。

参数:

TaskID后续动作语句的任务编号,进一步参考后面On_Return_Remain的使用。

Value该动作语句返回的结果值,类型为逻辑真假值或字符串值。

举例:

....

LODOP.On_Return=function(TaskID,Value){

if(Value)alert("已发出实际打印命令!

");elsealert("放弃打印!

");

};

LODOP.PRINTA();//这是一个典型的动作语句

On_Return_Remain

作用:

C-Lodop属性之一,让所设置的回调函数持续保留,对后续多个动作都有效

格式:

On_Return_Remain=真假值;

说明:

正常情况下,回调函数执行完毕后会自动销毁(也就是本属性默认值是false),而本属性设置为真值就可以阻止其销毁,从而让后面的所有动作语句都触发同一个回调函数,在回调函数中用TaskID的值来区分是哪个动作触发的回调。

举例:

varTaskID1,TaskID2

LODOP.On_Return_Remain=true;

LODOP.On_Return=function(TaskID,Value){

if(TaskID==TaskID1){

alert("判断是否打印成功的结果是:

"+Value)

}elseif(TaskID==TaskID2){

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

"+Value)

};

};

TaskID1=LODOP.GET_VALUE("PRINT_STATUS_OK",P_ID);

TaskID2=LODOP.GET_VALUE("PRINT_STATUS_EXIST",P_ID);

On_CLodop_Opened

作用:

C-Lodop属性之一,该事件在页面websocket建立完毕并准备好时触发。

格式:

On_CLodop_Opened=function();

说明:

页面程序可以把调用打印的过程放在该事件中,避免因为过早打印造成“C-Lodop未准备好”的频繁提示,同时也能尽快打印。

事件触发正常工作之后,建议重置该属性为null。

举例:

if(needCLodop()){

window.On_CLodop_Opened=function(){

OpenPreview();//执行打印预览

window.On_CLodop_Opened=null;

};

}else

window.onload=function(){OpenPreview();};

demoCreateCLodopJSscript

名称:

C-Lodop典型例子函数之一,在当前页面动态引入C-Lodop的js文件CLodopfuncs.js,引入时清理掉此前的其它引用,从而唯一选择云主机。

格式:

demoCreateCLodopJSscript(strSrc);

参数:

strSrc参数值为目标云主机的script标签,其格式为:

//Host地址:

端口/CLodopfuncs.js'>

也可以仅是src值部分:

http:

//Host地址:

端口//CLodopfuncs.js

举例:

demoCreateCLodopJSscript("

//192.168.0.8:

8000/CLodopfuncs.js'>");

demoCreateCLodopJSscript("http:

//192.168.0.8:

8000/CLodopfuncs.js");

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

PREVIEW

作用:

打印预览语句扩展了三个参数oView,iW,iH

格式:

PREVIEW(oView,iW,iH)

功能:

以某种样式进行打印预览。

参数:

参数值及其含义

oView:

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

_dialog:

弹出对话框

_blank:

新窗口

_self:

在本窗口

_top:

新窗口

_parent:

本窗口

具体ID值:

在某个现有iframe元素内(需要提前在页面内增加该iframe)

iW:

预览窗口显示时的宽度值(px);

iH:

预览窗口显示时的高度值(px);

举例:

LODOP.PREVIEW("_blank");//在新的浏览器窗口显示打印预览

(注意浏览器阻止设置对其仍然有效)

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

五、升级

Lodop6205发行包里包含“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云打印服务器:

====

functionneedCLodop(){

try{

varua=navigator.userAgent;

if(ua.match(/Windows\sPhone/i)!

=null)returntrue;

if(ua.match(/iPhone|iPod/i)!

=null)returntrue;

...

...

};

returnfalse;

}catch(err){returntrue;};

};

修改后如下:

//====判断是否需要安装CLodop云打印服务器:

====

functionneedCLodop(){

try{

returntrue;

}catch(err){returntrue;};

};

第二、C-Lodop语句对字母大小写敏感,要求大写。

此前控件例子中虽然都是大写,但小写或混合也是勉强可以的,但现在不行了,必须全是大写,例如LODOP.PRINT()写成LODOP.print()是非法的。

第三、云打印语句返回结果的方式不一样,要指定回调函数。

此前控件语句本身会“同步返回结果",而新的云打印前后指令不在同一个程序进程里,所以采用“异步回调函数”,函数名叫On_Return。

这个改动涉及面稍广,但做起来也不难,参考如下举例(样例4),只需在原来(蓝色)代码前面增加这段新(红色)代码,如此以来就可以让页面程序同时兼顾老版本控件和新的云打印:

if(LODOP.CVERSION){//用CVERSION属性判断是否云打印

LODOP.On_Return=function(TaskID,Value){

if(Value)alert("已发出实际打印命令!

");elsealert("放弃打印!

");

};

LODOP.PRINTA();

return;

};

if(LODOP.PRINTA())

alert("已发出实际打印命令");

else

alert("放弃打印");

 

六、https调用C-Lodop

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

安装文件

文件名称:

CLodop_Setup_for_Win32NT_https_2.060.exe;

注意文件名称中包含https字样。

服务端口

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

http服务端口默认8000;

https服务端口默认8443;

端口8443与其他服务冲突时,自动变大。

页面引用方式举例如下:

//localhost:

8443/CLodopfuncs.js">

注意其中域名必须是localhost(不能是127.0.0.1或具体ip地址);

引用方式也可以动态添加,动态加载方法可参考第三部分“调用”。

进入https服务欢迎页

进入欢迎首页参考图2-1、2-2,如果出现如下图6-1所提示的红框,则说明C-Lodop云打印https服务已启动。

(图6-1)

安装后的运行文件

在http标准运行文件(参考第5页)基础上增加了5个文件,如下:

1.证书管理和安装:

certmgr32.exe;

2.SSL证书key:

localhost32.key;

3.SSL证书文件:

localhost32.crt;

4.https服务辅助文件:

libeay32.dll;

5.https服务辅助文件:

ssleay32.dll。

判断https服务

页面程序通过CLODOP.HTTPS_STATUS属性判断是否安装https服务:

0-没安装1-已安装2-安装且已启动。

例如:

if (CLODOP.HTTPS_STATUS==undefined || CLODOP.HTTPS_STATUS<1) {

alert("请安装C-Lodop的https服务版本(特别版本)!

");

}

七、特注

由于运行在云端,所以C-Lodop不支持预览或设计窗口的前端内嵌功能,需要这项功能的业务系统,升级时最好兼顾“控件(插件)+云打印”,以便操作者根据需要选用支持插件的浏览器。

尽管有此缺憾,但C-Lodop构思巧妙,未来前景远大,以后会发布带更多精彩功能的版本,甚至让最终用户能直接使用,满足“移动设备+Wifi+普通打印”的迫切需要。

 

<完>

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2