C-Lodop 技术手册
C-Lodop技术手册
Ver 2.1.1.2
Email: [email protected]
QQ: 932131686
梦泰尔软件(中国)
MTSoftware(CN)
目 录
一、概述 3
二、安装 5
C-Lodop的32位安装文件: 5
C-Lodop的64位安装文件: 5
C-Lodop的32位安装文件(适应https协议): 5
安装后的运行文件: 5
安装后的设置窗口 6
安装后的欢迎页面 7
三、调用: 9
加载云打印JS文件的简单方法 9
动态加载云打印JS文件 9
云打印JS文件的优先级 10
加载多个云打印JS文件 10
获取LODOP对象 10
四、功能函数 11
Create_Printer_List 12
Create_PageSize_List 12
On_Return 12
On_Return_Remain 12
On_CLodop_Opened 14
demoCreateCLodopJSscript 14
PREVIEW 14
HTTPS_STATUS 15
- 升级 16
- https调用C-Lodop 18
安装文件 18
服务端口 18
进入https服务欢迎页 18
安装后的运行文件 19
判断https服务 19
- 特注 20
一、概述
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、文件路径:
Program Files (x86)\MountTaiSoftware\CLodop32
2、云打印服务主文件:
CLodopPrint32.exe
3、免登录启动服务文件:
CLodopService32.exe
4、样例目录
Program Files (x86)\MountTaiSoftware\CLodop32\Rootdir\CLodopDemos
样例中有一个LodopFuncs.js文件很关键,建议尽量分析理解透彻。
安装后的设置窗口
正常安装成功后,首先会弹出如下提示窗口:
(图2-1)
这也是管理设置窗口,以后可以从Windows如下菜单重新进入以上界面。
(图2-2)
在管理设置界面中,通过“设置->端口设置”菜单进入下面的对话窗口进行端口设置,默认端口是8000和18000,如果是https安全协议版,默认是8443端口:
(图2-3)
安装后的欢迎页面
点击以上(图2-1)圈定的按钮链接,进入如下欢迎页面:
(图2-4)
如(图2-4)红框中连接进入,可验证全部传统例子在c-lodop中的应用情况。
三、调用:
加载云打印JS文件的简单方法
调用C-Lodop很简单,在页面head中 添加 如下路径的js文件,就可以向其发打印请求了,如下几个例子都可以在欢迎页面或Lodopfuncs.js这个样例文件里找到:
<script src=”http://Host地址:8000/CLodopfuncs.js”></script>
这里的红色部分是固定内容,Host地址是指安装C-Lodop的主机地址,可以是其IP地址或域名,如果是本地(第二种角色)打印,该值用localhost、127.0.0.1或主机名代替,端口默认是8000、18000双端口(页面可以引用之一或同时引用),双端口服务的优势是当其中一个端口失效时,另一端口可继续工作,保证程序正常运行。单独部署时,也可以修改该端口值,如:
<script src=”http://192.168.1.1:8000/CLodopfuncs.js”></script>
<script src=”http://192.168.1.1:18000/CLodopfuncs.js”></script>
动态加载云打印JS文件
为了方便控制或兼容老程序,以上静态方法可以用如下动态语句替代,效果一样:
var oscript = document.createElement("script");
oscript.src ="http://localhost:8000/CLodopfuncs.js?priority=1";
var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
head.insertBefore( oscript,head.firstChild );
LodopFuncs.js中动态加载如图(3-1):
图(3-1)
云打印JS文件的优先级
<script src=”http://Localhost:8000/CLodopfuncs.js? priority=1”></script>
以上引用方法的参数priority设置的是优先级,优先级值是从0开始的阿拉伯数字,数字越大,优先级越高,默认是0。当一个页面按后续章节同时引用多个云主机时,优先级设置很关键,否则会按下载顺序来处理。
加载多个云打印JS文件
如果一个页面通过以上语句同时引用了俩云主机,通常后一个引用会覆盖前一个引用,其先后顺序是以下载js速度快慢为准,此时如果页面希望其中一个引用有更高的优先级,可以用url参数priority来控制,该参数值越大优先级越高,默认值为0,例如:
<script src=”http://192.168.1.6:8000/CLodopfuncs.js”></script>
<script src=”http://Localhost:8000/CLodopfuncs.js? priority=1”></script>
这也是C-Lodop默认安装例子演示时,既可以让手机浏览器访问,也可以让电脑访问的神奇原因。如果希望页面的两个引用同时存在(不相互覆盖),则需要用url的参数name来区分,例如:
<script src='http://192.168.1.1:8000/CLodopfuncs.js?name=LODOPA'></script>
<script src='http://192.168.1.2:8000/CLodopfuncs.js?name=LODOPB'></script>
此时调用打印时,不再用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();
更多语句参考后面的功能函数介绍。
四、功能函数
C-Lodop的功能函数几乎涵盖了Lodop的所有语句,它们的详细功能说明参考《WEB打印控件Lodop技术手册》。除此之外,新增了部分与页面整合相关的函数和属性,还有个别语句的参数值有所扩展,详解如下:
Create_Printer_List
Create_PageSize_List
On_Return
On_Return_Remain
On_CLodop_Opened
demoCreateCLodopJSscript
PREVIEW
HTTPS_STATUS
升级
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
源代码如下(注意红色代码变化):
修改后如下:
第二、C-Lodop语句对字母大小写敏感,要求大写。此前控件例子中虽然都是大写,但小写或混合也是勉强可以的,但现在不行了,必须全是大写,例如LODOP.PRINT()写成LODOP.print()是非法的。
第三、云打印语句返回结果的方式不一样,要指定回调函数。此前控件语句本身会“同步返回结果",而新的云打印前后指令不在同一个程序进程里,所以采用“异步回调函数”,函数名叫On_Return。这个改动涉及面稍广,但做起来也不难,参考如下举例(样例4),只需在原来(蓝色)代码前面增加这段新(红色)代码,如此以来就可以让页面程序同时兼顾老版本控件和新的云打印:
https调用C-Lodop
C-Lodop云打印支持https协议,需要安装特殊版本,该版本的安装和端口详情如下:
安装文件
文件名称:CLodop_Setup_for_Win32NT_https_2.112.exe;
注意文件名称中包含https字样。
服务端口
默认情况下http服务和https服务的端口差值443,即:
http服务端口默认8000;
https服务端口默认8443;
端口8443与其他服务冲突时,自动变大。
页面引用方式举例如下:
注意其中域名必须是localhost(不能是127.0.0.1或具体ip地址);
引用方式也可以动态添加 ,动态加载方法可参考 第三部分“调用” 。
进入https服务欢迎页
进入欢迎首页参考图2-1、2-2,如果出现如下图6-1所提示的红框,则说明C-Lodop云打印https服务已启动。
(图6-1)
安装后的运行文件
在http标准运行文件(参考第5页)基础上增加了5个文件,如下:
证书管理和安装:certmgr32.exe;
SSL证书key:localhost32.key;
SSL证书文件:localhost32.crt;
https服务辅助文件:libeay32.dll;
https服务辅助文件:ssleay32.dll 。
判断https服务
页面程序通过CLODOP.HTTPS_STATUS属性判断是否安装https服务:0-没安装 1-已安装 2-安装且已启动。
例如:
~~if (CLODOP.HTTPS_STATUS==undefined | CLODOP.HTTPS_STATUS<1) {~~ | |
---|---|---|
特注
由于运行在云端,所以C-Lodop不支持预览或设计窗口的前端内嵌功能,需要这项功能的业务系统,升级时最好兼顾“控件(插件)+云打印”,以便操作者根据需要选用支持插件的浏览器。尽管有此缺憾,但C-Lodop构思巧妙,未来前景远大,以后会发布带更多精彩功能的版本,甚至让最终用户能直接使用,满足“移动设备+Wifi+普通打印”的迫切需要。
<完>