10             JCP for Linux,国产操作系统支持

10.1     研发背景

一直以来,在本地打印模式下(非云打印模式),杰表云打印默认以Windows系统作为客户端,也就是说,只能将杰表云打印安装在Windows系统中,而不能安装在国产的操作系统上,比如麒麟、深度。

 

近年来,我国信息安全环境日趋严峻,建设安全可靠的软硬件生态,保障我国的信息安全,特别是敏感部门的数据安全已经成为全社会的共识。杰表云打印经过多年发展,已经累积了一些外交、国安、军队系统的客户,有必要为他们提供基于国产操作系统的WEB打印解决方案。

 

杰表云打印 for Linux 就是在这样的背景下酝酿成形的。

10.2     产品目标

JCP for Linux产品的目标是:

ü  支持国产操作系统麒麟、深度;

ü  支持国产CPU龙芯、飞腾,也支持X86平台;

ü  API尽可能保持与Windows桌面方案的兼容性,方便现有项目的移植或项目的多平台运行;

ü  支持自动检测安装。

 

目前,我们已经实现了Windows 桌面版网页打印中的大部分功能,如果还需要其他功能,比如,PDFMS OfficeWPS云文档打印,云端打印机打印等功能,我们将采用按需定制方式,提供此类服务。

 

10.3     安装

JCP for Linux安装方式可以分为两种方式:自动检测安装,和下载安装。

10.3.1         自动检测安装

自动检测安装就是用户第一次调用JCP时,由引入的jcp.js检测是否安装了JCP,如果没有安装,浏览器会如下所示窗口:

点击确定后,浏览器会自动下载一个安装脚本文件setup.run,右击鼠标给这个文件增加执行权限,如下图所示:

 

双击 setup.run ,选择在终端中运行该文件,如下所示:

 

该脚本会自动安装JCP,如下所示:

 

安装完成后,就可以在浏览器上使用JCP了,如下所示,同时,安装脚本会自动设置JCP开机自启动。

 

提示:

安装脚本文件setup.run 的下载地址,设置在jcp.js中的 JCP.download_linux属性中,如下图所示。试用版默认到http://print.jatools.com/jcp/setup.run 下载,正式版用户应将收到的 setup.run,发布到自己的服务器上,并将该文件的网络地址,设置到该属性。

 

10.3.2         下载安装

就是将从官网下载到的,或者从正式版的邮件里接收到的安装脚本文件 setup.run ,增加执行权限后,运行该脚本进行安装。

 

10.4     查看在线演示

安装 JCP for Linux 后,就可以在任何浏览器来浏览在线示例了,在线示例地址在:

http://print.jatools.com/demos.htm

 

如下图所示,右侧是国产操作系统所能支持的功能演示,目前,主要实现了Windows桌面版的网页打印中的大部分功能。

­­  

 

10.5     在项目中集成JCP

在国产操作系统中使用JCP,和Windows桌面版一样,需要引入 jcp.js,如下所示:

 

1.  <html>    

2.  <head>    

3.  <!--引入 jcp.js, 里面定义了 getJCP() 方法等, -->    

4.  <script type="text/javascript" src="jcp.js"></script>    

5.  <script>    

6.      function doPrint(how) {    

7.          var myDoc = {    

8.              documents : document, // 打印页面(div)们在本文档中    

9.              copyrights : '杰创软件拥有版权  www.jatools.com' // 版权声明必须    

10.         };    

11.         var jcp = getJCP();    

12.         if (how == '打印预览')    

13.             jcp.printPreview(myDoc, false);    

14.         else if (how == '弹出打印机选择对话框打印') {    

15.             jcp.print(myDoc, true);    

16.         } else    

17.             jcp.print(myDoc, false); // 不弹出对话框打印    

18.     }    

19. </script>    

20. </head>    

21. <body>    

22.     <div id='page1'>第一页(div#page1)</div>    

23.     <div id='page2'>第二页(div#page2)</div>    

24.     <input type="button" value="打印预览" onClick="doPrint('打印预览')">    

25.     <input type="button" value="弹出打印机选择对话框打印" onClick="doPrint('弹出打印机选择对话框打印')">    

26.     <input type="button" value="无对话框直接打印" onClick="doPrint('无对话框直接打印')">    

27. </body>    

28. </html>   

 JCP for Linux 打印网页的调用方法,与Windows下一模一样,在此不再赘述。

 

提示:

Windows 桌面版和for Linux版本,共用同一个jcp.js,这样方便项目迁移,或者多平台运行。

 

10.6     JS APIWindows 桌面版的差异

我们力求JCP for Linux JS APIWindows 保持兼容,但由于底层实现的不同,还是有部分API无法保持一致,这部分API主要集中在获取打印机状态、打印任务状态。对于这部分API的差异,我们会在JCP使用手册和API 参考手册中,一一注明。