JsPrintSrv是由成都致酷科技有限公司结合多个项目实践经验推出的一种基于浏览器前端一站式打印方案,是CloudX系列的主要产品之一。该产品功能强大,可智能兼容所有类型打印机,提供所见即所得(WYSWYG)的模板设计功能,并内化多种针对固定格式打印如(质保卡、发票等),连续格式打印如(条形码、挂号单等),报表尤其是多段式报表等业务场景下的专项优化;该产品小巧精致,所有功能仅通过不超过5个开放接口实现;该产品使用方便,所有功能均通过http基本操作Get/Post完成。
产品的关键特性主要有:
1. 全系浏览器支持。因采用了有别于传统的插件方式,即ActiveX或NPAPI方式,本方案对浏览器内核及版本均无限制,确保业务系统对终端用户多样使用习惯的适应性。
2. 业务实现与打印实现完全分离。在通常的业务系统中,打印相关的代码集成在整个系统中作为其中的一个功能存在。这给基于云的SaaS服务用户带来挑战,不同用户需要的打印数据可能会有略微区别。本方案通过模板技术在不增加软件复杂度的情况下,满足了用户打印需求的多样性。
3. 任意设备智能兼容。本方案采用Windows WDM近似的设计思路,在设备底层把所有打印设备均抽象为统一的接口,完美屏蔽了不同硬件设备的细节,同时在业务层面,结合实际项目的经验将业务相关的主要参数通过模板的方式提供给开发人员,以保证业务系统的灵活性。
4. 所见即所得(WYSWYG)。打印设计过程的可视化能带来更高的效率及获得感。因为本方案保证了设计与打印结果的一致性,开发人员在打印设计过程不再需要任何打印相关的代码调试,仅仅需要按指定格式打包业务数据即可完成打印相关开发工作,因此产品经理在开发过程中便可以参与进来,减少了代码工作量,缩短了开发时间,加快产品上线时间,为公司节约了成本并促使产品占领更多市场。不仅如此,本方案甚至可以让终端用户在使用过程中对打印格式及内容进行调整,以满足用户的个性化需求。
案例:
此案例中涉及的模板来自于此前一客户的实际业务需求,在此特别对此伙伴致以深情的感谢,谢谢你的支持及素材,并请原谅我替换了你们的logo。^_^
此客户开发的是一个义齿行业的SaaS应用,业务中涉及到多打印介质、多打印机类型及多打印格式的要求。单纯使用JS实现打印在开发周期及投入成本上是相当不划算的,实际上这也是他们做过类似尝试后的结论。另一种传统方案是使用浏览器插件,如ActiveX及NPAPI,此方案的好外是方案成熟,但这样至少带来2个问题,首先是浏览器兼容性问题,其次是得开发两套插件以适应IE和非IE浏览器内核。SaaS应用的使用环境不太可能被预测或被限制,如果这样将明显降低产品的竞争力,这当然从经营的角度来讲是更不划算的。最终客户选择了本方案,事实也证明此方案是实用并高效的。
1. 获取:本方案对应的软件安装包可在官网www.exinqiao.com上获得,具体链接是http://www.exinqiao.com/jsprintsrv.html?page=%E6%89%93%E5%8D%B0。初期如果只是demo的话,只需要在购买页简单填下联系方式后,选择产品、许可类型点提交后即跳转到下载链接,便可下载使用。
获取页面示例2. 安装:完成下载后,解压后进入对应目录,直接点击setup.exe即可完成安装。需要提醒一下的是别忘记点击安排界面上的注册按钮,以完成服务注册。如果惯性手势让你错过了这个页面,你可以选择卸载后重新安装或通过具有管理员权限的cmd shell完成服务注册。具体命令为,sc create JsPrintSrv binpath= "JsPrintSrv.exe的完整路径"。
服务注册3. 使用:如果选择的许可类型是试用的话,所有接口调用发起的origin只能为http://localhost。如果需要查看公网域名的效果,在安装服务后可进入官网地址:打印演示。特别说明,缺省安装下,操作系统禁止服务与用户交互,所以应避免使用虚拟打印机,即通过打印为文件的方式实现打印。如有此特别需求,请与客服联系,或停止服务后,执行命令“JsPrintSrv.exe -console”。
4. 代码:安装完成后,所有示例代码被安装在C:\JsPrintSrv目录下,开发人员唯一需要做的工作是参考example.html完成库引入即可。唯一剩下的工作是根据业务流程准备打印数据包。以下是示例代码截个图
示例代码截个图这里特别说明一下数据包的构成。数据包为典型的Json数据结构,其中“templ”是必须的,其余都是可选的,其余的键包括content、repeat、header、footer、tabheader、tabcontent共6种。每种模板类型对应的数据结构是基本确定的。如表格会有header、footer等。键“templ”对应的值是为setup页面显示的模板名。其余键中除content外,均为容器。content内包含的内容打印时的位置是固定的与容器的位置无关,其余的键中包含的数据内容在打印前位置是不固定的,打印设计时指定的是相对位置,实际打印时会根据待打印数据的条目数动态计算。
5. 打印效果:
普通表格 多段表格希望能成为你的伙伴并帮助到你。
若有可至官网留言或电话联系。谢谢!
网友评论