-
(开源准备:也算是笔者从业以来第二个作品了,谢谢博客园编辑审核团队,欢迎置顶。欢迎转载。开源为百度云打包开源)
演示站点+源码 均在github
迁徙至github: https://github.com/micro-chen/WebPrinter
智能打印SDK-官方群 547747202
开源地址:http://www.dnnode.com/
电子商务越来越成熟,提供的服务越来越完善。在关键的发货打印快递单这个节点,总是出现各种瓶颈。主要问题是各种软件应用与打印机的交互,要么兼容差,要么效率低。针对这种情况,淘宝旗下的菜鸟物流,独自研发出了自己的打印组件--菜鸟打印组件。
但是这个组件只能在浏览器的极速模式下运行。兼容模式无法运行。导致现在国内主流的PC浏览器,无法在兼容模式下享受菜鸟打印组件的高效快捷。
按照菜鸟官方文档:http://cloudprint-docs-resource.oss-cn-shanghai.aliyuncs.com/faq.html
1、菜鸟打印组件支持哪些浏览器?* IE 11及以上* chrome 16及以上(建议使用chrome的最新版本)* Firefox 45及以上(建议使用firefox的最新版本)* 搜狗浏览器(极速模式)* 360浏览器(极速模式)* QQ浏览器(极速模式)2、我用的是搜狗浏览器(或360浏览器、QQ浏览器),为什么无法打印?* 请尝试将这些浏览器切换到极速模式(或闪电模式),如果还是打印不了,建议使用chrome3、需要安装哪些软件?* 上述浏览器的一种或几种* 菜鸟打印组件* 预览模式下需要安装pdf软件(可选)4、支持的操作系统有哪些?* Windows XP SP3* Windows Vista/7/8/10* 上述操作系统的32位和64位均支持
为什么不能支持兼容模式?因为浏览器的兼容模式,是基于微软的IE渲染内核Trident。老版本的IE不支持WebSocket协议。如何能做到兼容所有浏览器呢?
- 软件名称
- 智能打印SDK 开发商
- 第恩工作室 软件平台
- WinXP/Win7/Win8/Win10 软件版本
- 1.1
- 更新时间
- 2017-02-25 软件语言
- C/C++/C#/Javascript 软件大小
- 24M 软件授权
- 免费
目录
- 1 产生背景
- 2 发展历程
- 3 开发简单
- 4 主要功能
- 5 版本更新
产生背景
互联网发展到了一个新的阶段。伴随互联网衍生出来很多周边产品。社交网站、搜索引擎、电子商务等。其中最切实影响人们生活的是电子商务。彻底颠覆了人们的消费习惯。从网上购物,在线支付,物流发货,一条完整的链条,方便了消费,促进了经济发展。
在电子商务这个简单的产业链条中。基本模式链,下单->支付->发货。在最关键的发货环节上,出现了各种参差不齐的服务产品和物流快递公司。百花齐放的快递市场,既有顺丰这样的巨头,也有各种正在转型或者新起之秀。
快递服务商与广大卖家的合作,基本上分为两种:1 传统的信函方式的机打单 2 新型的电子面单。
传统的纸质面单,经济实惠。但是每家快递服务商,都有自己的内容模板。格式的不统一,导致无法进行机器分拣。耗费大量纸张,人工分拣,费力费事,差错大,对快件也可能造成不可逆的损坏。
新型电子面单的出现,就是为了解决上述问题而出现的。
电子面单是一个大的趋势。目前而言,菜鸟物流较为成熟。从淘宝后台商家的发货服务对接,到菜鸟各个分站点之间,形成基于互联网通信为基础,电子面单为凭证介质的通信模式。
菜鸟官方独立研发出菜鸟打印组件,直接将商家发货服务软件和打印机硬件做联合。性能高效稳定,体积小,开发扩展成熟灵活。但是菜鸟打印组件的通信协议是基于TCP的Web套接字----WebSocket。
WebSocket是HTML5的通信一种,优点不谈了,有目共睹。但是HTML5只能说代表未来,或者说可能代表未来。真正的HTML5现在仍然在一个混战的舞台。大量的老版本的操作系统和浏览器仍旧存有相当大的市场。
所以,既能向后支持,也能向前支持老版本的技术平台,尽量能够兼容主流的操作系统和浏览器,是一项很大的挑战。当前菜鸟打印组件做到了向后的支持。那么兼容模式,老版本的IE8/9/10怎么支持兼容呢?
基于传统的浏览器插件的方式,对浏览器开发附件插件。但是开发难度大,而且版本管理迭代慢,维护成本高。
如果能通过统一的通信协议,直接将请求指令发送到本机程序应用,那么就可以解决浏览器与本地应用的通信瓶颈。毫无疑问-HTTP协议这种最基本的通信协议是最有效的。
发展历程
从确定技术框架,选型开发,到编码,测试。【智能打印SDK】经过了层层筛 选。最终采用了 C/C++/C#混合模式的开发。
基于C/C++做客户端进程激活。基于C#做 Web通信承载。
需要注意的是:虽然客户端选择了C#开发承载程序,本程序不强制安装微软提供的.Net Framework完整安装包。考虑到.NET的运行时体积大,安装慢这种致命的瓶颈,才经过大量的资料调研测试,我们将微软的.Net Framework精简体积,直接打包到【智能打印SDK】的安装包中。软件总共体积不到24M大小。安装速度快,占用体积下,功能全面。
软件从beta内侧到现在的1.1版本。兼容目前Windows 系列所有的操作系统和主流的PC浏览器。不区分极速模式和兼容模式。稳定,效率高。
开发简单
【智能打印SDK】为免费软件。客户端开发Javascript库完全开源。软件官方提供下载。包含示范代码,在线展示。引入js文件后,直接将通信协议切换到http协议即可。不需要对路径,命令做更改。js库对WebSocket接口做了封装,所以,不用考虑回调的问题。效果完全如同WebSocket的,做到无差别切换。
1 2 3 4 5 6 7 8 | //发送完数据后的回调 var client = PrinterHttpClient.createNew(); client.onmessage = function (){ //回调函数 }; client.send(Msg); |
主要功能
菜鸟打印组件支持兼容模式的桥梁。兼容目前Windows 系列所有的操作系 统和主流的PC浏览器。不区分极速模式和兼容模式。
软件支持哪些系统?
Windows平台下的主流操作系统,目前测试包含:Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10。
软件支持哪些浏览器?
目前测试所有主流的PC浏览器均可以稳定运行。包括:IE6/7/8/9/10/11 edge。Chrome、火狐、360浏览器、搜狗浏览器、百度浏览器、
猎豹浏览器、QQ浏览器等。支持极速模式和兼容模式。
如何使用?
1. 使用者 直接下载SDK组件安装即可。
2. 开发者
开发者需要在Web页面,将智能打印SDK的支持脚本引入到页面。(在脚本压缩包是一个完整的通信示范。)然后安装SDK组件。即可使用。
由于打印核心是基于菜鸟打印组件,所以,所有的使用文档可以参考菜鸟官方的。只是交互通信的协议从TCP变为HTTP。也就是本组件不
仅仅支持 WebSocket 的方式 。也支持HTTP的方式。推荐基于HTTP的方式。这样才能兼容全部的PC浏览器!!!!
Windows平台下的主流操作系统,目前测试包含:Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10。
软件支持哪些浏览器?
目前测试所有主流的PC浏览器均可以稳定运行。包括:IE6/7/8/9/10/11 edge。Chrome、火狐、360浏览器、搜狗浏览器、百度浏览器、
猎豹浏览器、QQ浏览器等。支持极速模式和兼容模式。
如何使用?
1. 使用者 直接下载SDK组件安装即可。
2. 开发者
开发者需要在Web页面,将智能打印SDK的支持脚本引入到页面。(在脚本压缩包是一个完整的通信示范。)然后安装SDK组件。即可使用。
由于打印核心是基于菜鸟打印组件,所以,所有的使用文档可以参考菜鸟官方的。只是交互通信的协议从TCP变为HTTP。也就是本组件不
仅仅支持 WebSocket 的方式 。也支持HTTP的方式。推荐基于HTTP的方式。这样才能兼容全部的PC浏览器!!!!
版本更新
软件下载地址:http://www.dnnode.com/
在线展示:http://www.dnnode.com/help.html