(开源准备:开源为百度云打包开源,GIT太慢,SVN没有免费的,TFS有免费的也慢的要命)

开源地址:http://pan.baidu.com/s/1miobLoO

电子商务越来越成熟,提供的服务越来越完善。在关键的发货打印快递单这个节点,总是出现各种瓶颈。主要问题是各种软件应用与打印机的交互,要么兼容差,要么效率低。针对这种情况,淘宝旗下的菜鸟物流,独自研发出了自己的打印组件--菜鸟打印组件。
但是这个组件只能在浏览器的极速模式下运行。兼容模式无法运行。导致现在国内主流的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. Android 官方博客 - Android应用程序的内存分析(翻译)(转)

    转自:http://www.cnblogs.com/wisekingokok/archive/2011/11/30/2245790.html Dalvik虚拟机支持垃圾收集,但是这不意味着你可以不用关 ...

  2. 腾讯DBA官方博客开通了,欢迎交流

    腾讯DBA官方博客开通了,欢迎交流哈..麻烦给放到首页一下     http://tencentdba.com   腾讯互娱游戏DBA团队一直致力于为游戏提供稳定.高效的DB运营服务,这是我们团队的使 ...

  3. 腾讯DBA官方博客开通了

    腾讯DBA官方博客开通了,欢迎交流哈..     http://tencentdba.com   腾讯互娱游戏DBA团队一直致力于为游戏提供稳定.高效的DB运营服务,这是我们团队的使命. 过去DBA团 ...

  4. 欢迎访问微先锋vXianFeng官方博客

    欢迎访问微先锋vXianFeng官方博客,专注微商城.P2P理财.山寨矿机平台研究与开发!

  5. 转载:有好多是Elastic官方博客上的内容,具体看文档

    Elastic官方博客地址:https://blog.csdn.net/UbuntuTouch 这个地址是在CSDN上面的,看不惯CSDN网站的广告,同时官方博客讲述的也都十分详细,自己保留一份作为参 ...

  6. 南阳师范学院ACM官方博客使用说明

    登录之后跳到如下页面: 点击博客进入如下页面: 这里每个人都有一个专栏,大家可以把自己写得博客放到自己的专栏下,同时也可以查看其他人写的博客,相互交流! 在发表博客的时候,选择个人分类中自己的专栏即可 ...

  7. 在 Traefik Proxy 2.5 中使用/开发私有插件(Traefik 官方博客)

    Traefik Proxy 在设计上是一个模块化路由器,允许您将中间件放入您的路由中,并在请求到达预期的后端服务目的地之前对其进行修改. Traefik 内置了许多这样的中间件,还允许您以插件的形式加 ...

  8. Citus 11 for Postgres 完全开源,可从任何节点查询(Citus 官方博客)

    Citus 11.0 来了! Citus 是一个 PostgreSQL 扩展,它为 PostgreSQL 添加了分布式数据库的超能力. 使用 Citus,您可以创建跨 PostgreSQL 节点集群透 ...

  9. 使用 HammerDB 对 Citus 和 Postgres 进行 Benchmark,每分钟200万新订单处理测试(官方博客)

    在为 Postgres 运行性能基准测试时,主要建议是:"自动化!" 如果您正在测量数据库性能,您可能不得不一遍又一遍地运行相同的基准测试. 要么是因为你想要一个稍微不同的配置,要 ...

  10. div水平居中与垂直居中的方法【摘自美浩工作室官方博客 】

    大家往往在写页面中会遇到不固定宽和高的div如果水平和垂直都居中呢?在写css的时候经常遇到的一个问题,当div没有固定的宽度或者高度的时候,如何才能让div水平或者垂直居中显示.如果div有固定宽度 ...

随机推荐

  1. Mybatis学习(6)动态加载、一二级缓存

    一.动态加载: resultMap可以实现高级映射(使用association.collection实现一对一及一对多映射),association.collection具备延迟加载功能. 需求: 如 ...

  2. nginx 特定目录禁止php执行

    LNMP有一个缺点就是目录权限设置上不如Apache,有时候网站程序存在上传漏洞或类似pathinfo的漏洞从而导致被上传了php木马,而给网站和服务器带来比较大危险. 建议将网站目录的PHP权限去掉 ...

  3. 论MySQL数据库中两种数据引擎的差别

    InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定. 基本的差别为: MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持. MyISAM类型的表强 ...

  4. 交叉验证(cross validation)

    转自:http://www.vanjor.org/blog/2010/10/cross-validation/ 交叉验证(Cross-Validation): 有时亦称循环估计, 是一种统计学上将数据 ...

  5. jQuery css,position,offset,scrollTop,scrollLeft用法

    jQuery css,position,offset,scrollTop,scrollLeft用法: <%@ page language="java" import=&quo ...

  6. Bootstrap入门(十八)组件12:徽章与巨幕

    Bootstrap入门(十八)组件12:徽章与巨幕 1.徽章 2.巨幕 1.徽章 给链接.导航等元素嵌套 <span class="badge"> 元素,可以很醒目的展 ...

  7. angular表格分页

    <!doctype html> <html lang="en" > <head> <meta charset="UTF-8&qu ...

  8. 用php进行md5解密的源码,亲测可用

    <?php $md5 = "c1c95b382230eb9e27a60c4baceb5f2e"; $uid = "hhp-ImZRY"; $token = ...

  9. 路由器安装ubuntu-16.04.1-server-amd64出现“无法安装busybox-initramfs”错误。向目标系统中安装busybox-initramfs软件包时出现一个错误。请检查/var/log/syslog或查看第四虚拟控制台以获得详细

    公司的路由器要ubuntu服务器进行路由网络功能的管理,在安装的时候出现下面的错误提示: 安装ubuntu-16.04.1-server-amd64出现“无法安装busybox-initramfs”错 ...

  10. 游戏音频技术备忘 (四) Wwise Unreal Engine 集成代码浅析 (一)

    在Engine\Plugins\Wwise\Source下为主要Wwise相关代码,AkAudio文件夹下为运行时相关代码,AudiokineticTools下为编辑器工具相关代码,Audiokine ...