Web打印控件:打天下(PrintWorld)

关于web打印控件-打天下

打天下(英文:PrintWorld),全称为打天下web打印控件,是一款简单易用、功能强大、高效稳定、输出一致的web打印控件/插件,它带给开发者和最终用户的体验堪称完美:

模板+JSON=打印输出,模板设计所见即所得,开发效率超高。
定位精准、输出清晰精度高,无论文字、条码(二维码)、图像、表格...
不同浏览器打印输严格一致,无论预览还是打印输出。
卓越的稳定性、出色的开发和运行效率,为你成倍地节约开发和维护成本。

浏览器本身虽具有打印功能,也只是勉强“可用”,还远远满足不了人们的打印需求;某些直接打印HTML的web打印控件,其缺点也十分明显,诸如精准度低、输出不一致、分页打印难控制等等诸多缺点。因此打印html要想达到比较理想的效果,困难很大。

打天下不通过HTML,而是通过模板+JSON实现打印输出,模板设计“所见即所得”简单易行,打印输出美观、精准、完美分页、不同浏览器输出毫无差异。打天下也支持PDF打印,可以通过PDF文件的URL路径直接打印。

打天下组成

打天下提供了一站式Web打印开发工具,即打天下模板设计器以及打天下打印服务器。具体技术细节可参考文档示例

打印服务器: 一个应用程序,通常安装(部署)在客户端,提供打印/预览功能服务。
模板设计器: Web打印模板设计“所见即所得”,各种尺寸、各种复杂度、静态的、动态的、全打、套打等等各种形式的模板,都可以快速实现。
中等复杂度的模板一般20分钟左右即可搞定。

Web打印,从未如此简单!

模板+JSON=打印输出模板由“所见即所得”的模板设计器设计,各种的规格、类型的模板唾手可得。 模板(通常是模板文件URL)+ JSON数据(通常来自后台服务端)作为参数,调用一个JavaScript方法Direct(或Act)即可实现打印、预览。

1、浏览器打印JS代码
1. var printWorld = new classPrintWorld(); //new 一个打天下对象
2. var json = {};
3. json.action = "print"; //打印指令动作
4. json.template = yourTemplateUrl; //模板URL,位于WEB服务器的一个模板文件。
5. json.data = yourJsonData; //填充模板的JSON数据对象。数组则批量打印。
6. json.printer=printerName; //打印机名称。为空或者不指定,则通过缺省打印机打印。
7. printWorld.Direct(json);

2、浏览器预览JS代码(除了json.action外,与打印JS代码完全一致)
1. var printWorld = new classPrintWorld(); //new 一个打天下对象
2. var json = {};
3. json.action = "preview"; //预览指令动作
4. json.template = yourTemplateUrl; //模板URL,位于WEB服务器的一个模板文件。
5. json.data = yourJsonData; //填充模板的JSON数据对象。数组则批量预览打印。
6. json.printer=printerName; //打印机名称。为空或者不指定,则通过缺省打印机打印。
7. printWorld.Direct(json);

浏览器通过http(s),将模板(通常是模板的URL地址)与JSON数据发送给打天下打印服务,进行打印或预览。由于其中繁琐的细节已由PrintWorld.js封装,因此,Web页面通过引入PrintWorld.js后,只需要简单地调用一两个方法就可以实现打印/预览。