“Js打印专家”JsPrintSrv
JsPrintSrv是致酷科技(致酷科技,WISE and COOL)出品的基于浏览器的一站式打印解决方案,是CloudX系列的主要产品之一。该产品功能强大,可智能兼容所有类型打印机,提供所见即所得(WYSWYG)的模板设计功能,并内化多种针对固定格式打印如(质保卡、发票等),连续格式打印如(条形码、挂号单等),报表等的多项优化;该产品小巧精致,所有功能仅通过不超过5个开放接口实现;该产品使用方便,所有功能均通过http基本操作Get/Post完成。
关键特性
1.全系浏览器支持
因为该产品完全抛弃了传统的ActiveX及NPAPI插件方案,创新地采用了成熟的Web Service架构实现,内部的功能实现与浏览器类型及版本无关。浏览器类型可随意选择,浏览器版本能随时升级,实现对全系浏览器的完美支持,确保业务系统对终端用户多样使用习惯的适应性。
2.无需任何浏览器设置
在传统解决方案中,业务系统通常需要通过调用浏览器API,如window.print(),实现对打印设备的管理,业务系统需要显示浏览器对话框完成对打印事务的配置工作,如选择指定打印机、设置纸张、页边距、对齐方式等内容。基于插件的技术虽然避免了使用浏览器的API,但本质上仍然通过开放自身API接口的方式完成相应的配置工作,可谓是换汤不换药。本产品独创性地通过模板的方式解决了此问题,通过单独的API调用ZK_JSP.View.setup()接口,打开内置的可视化模板配置页面,根据需要一次性设定所有参数后,便可反复随意使用。整个配置过程不需任何浏览器插件,不调用任何浏览器接口,无需任何浏览器设置。
3.任意设备智能兼容
本产品基于Windows WDM设计思路设计,所有打印设备均被抽象为统一的接口实现所有的操作,完美屏蔽所有硬件细节,做到对任意打印设备智能兼容。保证只要windows操作系统能识别到的打印机均可被本产品正常使用。
4.常见打印应用场景多种专项优化
通过分析上千种业务系统的打印场景,本公司将打印应用场景主要分为固定位置的质保卡模式,连续走纸的条形码模式,自动分页并自动布局的报表模式和普通模式。本产品针对前3种模式执行了大量的优化,以保证更好的适应性。如在所有模式下将使用更高易读性的mm为单位,并精确到10分位上;如在质保卡模式时,允许用户添加背景图片,以帮助产品经理或开发工程更加便利地设计模板。如在条形码模式下,允许用户直接传入条码值而非图片。如在报表模式下,允许用户通过插入指定别名的字符元素实现页码的打印等。通过各种专项优化,更大程度减轻了开发人员的工作压力,为项目经理或产品经理减少了交付的不确定性,最终为老板节省了研发费用。
5.多设备同时打印
在传统解决方案中,业务系统通过调用浏览器API的方式执行的打印配置过程,其配置上下文无法持久化。而基于插件技术的内部实现大都采用设备句柄的操作方式,虽说解决了配置上下文的保存问题,但仍然需要通过句柄的创建和关闭操作实现设备切换,同时需要监控或等待设备状态,其打印准备过程通常需要较长的等待时间。本产品通过Web Service作为前端接口,后台使用Spool技术完成打印过程管理及状态监控,开发人员无需等待。理论上讲,在无网络带宽限制情况下,用户打印到达打印机的时间,本产品的时间消耗多为毫秒级,极速如电。
6.打印设计所见即所得(WYSWYG)
WYSWYG,What You See What You Get,一直以来是可视化的理想状态。本产品内部完全实现了Windows视窗与打印机不同打印分辨率下的输出点阵转换,模板内包含的所有元素包括文本、图形、图片、条形码和二维码的位置及大小属性,均采用更易读的毫米(mm)为单位,以强化其易用性。同时,通过模板作为中间媒介,本产品将打印设计与打印实现解耦,开发人员只需了准备好用于打印的数据,并按指定数据结构封装为Json包即可,专注于业务逻辑的实现,而打印设计则可交由产品经理甚至用户自己完成。在本产品中,Json数据与打印数据并不需要绝对的一一对应关系,当Json打包数据为打印模板中别名数据的超集时,终端用户甚至可随时通过调整模板实现多样的打印输出,以打印提供更大的灵活性。
7.自动分页
当模板类型设置为报表时,本产品将自动根据模板内容动态分页并计算页码。本产品内置有两个重要的别名用于打印页码相关信息,其分别是curpage和totalpage,两个别名全为小写,请在做别名命名时不要占用。