zoukankan      html  css  js  c++  java
  • 智能打印SDK---官方博客

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

     演示站点+源码 均在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浏览器!!!!

    版本更新

    软件下载地址:http://www.dnnode.com/
    在线展示:http://www.dnnode.com/help.html
  • 相关阅读:
    BZOJ 1578: [Usaco2009 Feb]Stock Market 股票市场( 背包dp )
    BZOJ 3315: [Usaco2013 Nov]Pogo-Cow( dp )
    BZOJ 3477: [Usaco2014 Mar]Sabotage( 二分答案 )
    BZOJ 2427: [HAOI2010]软件安装( dp )
    BZOJ 3211: 花神游历各国( 线段树 )
    POJ 2528 线段树 + 离散化
    POJ 1151 Atlantis 线段树+离散化+扫描线
    POJ1177 Picture 线段树+离散化+扫描线
    BZOJ1016: [JSOI2008]最小生成树计数
    POJ2104 K-th Number 划分树 模板题啊
  • 原文地址:https://www.cnblogs.com/micro-chen/p/6452518.html
Copyright © 2011-2022 走看看