(开源准备:也算是笔者从业以来第二个作品了,谢谢博客园编辑审核团队,欢迎置顶。欢迎转载。开源为百度云打包开源)

演示站点+源码 均在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. 1 产生背景
  2. 2 发展历程
  3. 3 开发简单
  4. 4 主要功能
  5. 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浏览器!!!!

版本更新

软件下载地址:http://www.dnnode.com/
在线展示:http://www.dnnode.com/help.html

智能打印SDK---官方博客相关推荐

  1. 谷歌官方博客发表的 手机的未来趋势

    北京时间9月21日消息,谷歌官方博客最近发表的一篇文章分析了手机的未来趋势,以下是博客全文. 自从十年前谷歌创立以来,互联网已经给全世界人们的生活带来了巨大的影响.它已经改变了政治.娱乐.文化.商业. ...

  2. 官方博客明确了 .NET Core RC2/RTM 时间表

    .NET Core 经过了将近2年的开发,去年12月份发布的RC1版本,明确来说那只是一个beta版本,自从RC1发布以来,看到github里的RC2分支,整个工具链都发生了很大的变化,大家都在焦急的 ...

  3. 这是 Google 工程师 Amit Singhal 发表在 Google 官方博客的一篇文章,讲述了 Google 搜索排名背后的一些技术,涉及到 Google 对网页,对语义,对用户意图的理解。

    XEIM这是 Google 工程师 Amit Singhal 发表在 Google 官方博客的一篇文章,讲述了 Google 搜索排名背后的一些技术,涉及到 Google 对网页,对语义,对用户意图的 ...

  4. 爬取CSDN官方博客粉丝中码龄20年以上的用户数量

    文章目录 序 正文开始 IP代理 请求头 cookie 接口分析 爬虫数据保存 重点,爬取数据方法 多线程爬取 完整代码 爬取结果 序 又是一周周末了,闲暇无事,很有精神, 准备看一下csdn社区中码 ...

  5. 博文视点官方博客已经开通!

    博文视点官方博客已经开通: http://blog.csdn.net/bvbook 查看博文视点新书讯.图书勘误.资源下载.活动公告

  6. 博文视点官方博客http://blog.csdn.net/bvbook

    博文视点官方博客http://blog.csdn.net/bvbook 本文转自 http://blog.csdn.net/bvbook/

  7. TimesTen官方博客-中文版和英文版

    TimesTen官方博客英文版的地址为: TimesTen Talk TimesTen官方博客中文版是Oracle官方博客 - 数据库产品技术支持的一个分支地址为: https://blogs.ora ...

  8. 淘宝网UED官方博客

    http://ued.taobao.com/blog - 淘宝网UED官方博客

  9. 厨房有约 | 华人生活馆HuarenStore官方博客

    厨房有约 | 华人生活馆HuarenStore官方博客 厨房有约 | 华人生活馆HuarenStore官方博客 posted on 2016-06-08 21:23  lexus 阅读( ...) 评 ...

  10. 谷歌中国四官方博客换地址 首页曾玩变脸

    4月6日,有DoNews网友反映,日前谷歌中国的四个官方博客已全部更换域名. 据了解,谷歌中国的四个官方博客:谷歌黑板报.Google中文网站站长博客.AdSense 中文博客和谷歌中国开发者博客此前 ...

最新文章

  1. matlab矩阵方块网络着色imshow_matlab中用imshow()显示图像与图像矩阵的数据类型的关系...
  2. C# 反射与dynamic最佳组合
  3. [软件更新]Adobe Photoshop Elements 8.0.0
  4. python redis 操作_Python 使用 Redis 操作
  5. deebot扫地机器人使用_完美主义的双子座也选这款扫地机——小米米家扫地机器人使用心得...
  6. 伪分布式Hadoop2.x集群的搭建1
  7. div不继承父类样式_Java三大特性之继承
  8. 一不小心就对未分配的内存进行访问和修改
  9. Atitit 微服务 分布式 区别 微服务的判断标准 目录 1.1. 区别 微服务侧重于微小服务进程隔离级别,分布式侧重于机器隔离 1 2. 微服务是一种架构, 。多微才叫微? 1 2.1. 微服务
  10. 批量读取文件夹下所有excel文件里的内容,放入列表 把所有不管行列名如何excel合并成一个大的excel 批量读取excel,批量合并excel
  11. Openpcd安装过程记录
  12. ad中按钮开关的符号_收藏:电路图形符号大全!!!
  13. PCB 生产过程中对铜面氧化的防范手段
  14. 【小程序】766- 一文看懂小程序分享到朋友圈
  15. python获取发送到手机的短信,使用python将短信更新发送到手机
  16. postgresql配置MIMIC-IV
  17. 不止“宏彦获水”还有它们!
  18. 云媒易:做好小红书推广的6个关键点
  19. 浏览器无法启动百度网盘应用的解决办法
  20. DC Scenario

热门文章

  1. 计算机设备管理器老是闪烁,Win7系统打开设备管理器后一直自动刷新解决方法...
  2. Vue3.x 深度选择器(样式穿刺)>>> 和 /deep/ 和 ::v-deep 被弃用desprecated
  3. 修改IDEA默认配置路径
  4. 黑得漂亮!SyScan360黑客大会展示17秒攻陷IE
  5. 难溶盐在盐酸中的溶解度分析
  6. user-select的详细用法
  7. 游戏运营必须知道的知识(二),入行必备!!
  8. 想哪写哪_随笔20191130
  9. 传圣火~~~递友情~~~~NAONAO是博客火炬手~~~
  10. Failed to open \EFI\BOOT\mmx64.efi问题解决