深圳市智睦信息技术有限公司
用户3701
API接口
分享
服务器接口(CLIENT_OPENAPI & CLIENT_JSAPI)
输入“/”快速插入内容
服务器接口(CLIENT_OPENAPI & CLIENT_JSAPI)
用户3701
用户3701
用户8501
用户8501
10月27日修改
智睦云打印
API
接口对接说明
一、背景
在互联网和工业自动化时代,
打印自动化是企业生产建设过程中不可或缺的一环。
下面列举了一些使用自动化打印的场景:
电子商务
电商行业的供应链、订单处理及发货环节,需要大量的用到打印,其中包括拣货单、发货单、物流面单及产品资料的打印,且仓库的无线网络环境较差,设备间的网络互联具备不稳定性。智睦云打印提供
JSAPI,
与电商企业的
ERP
系统无缝集成,
轻松实现发货系统本机的
HTML
、
PDF
格式的面单打印。
医疗系统
医疗系统,在挂号、收费、排号、诊断、开药等环节,需要用到大量不同格式的凭证打印,且打印机各不相同;同时,医院信息安全管理规定信息系统服务器必须在内网部署,原则上不可接入外网。智睦云打印提供
JSAPI
和
OpenAPI
两种方式及内网网关方案,可以很好地实现医生开单打印及患者自助打印等场景。
餐饮行业
餐饮行业的接单系统、后厨系统、排队系统,均需要用到便携式热敏打印,智睦云打印的云端
OpenAPI
或客户端
OpenAPI
均可实现上述几类打印场景。
检验类
检验类单位或企业,如食品、药品检验检疫,或车辆检验等,均需要用到检验单的打印和合格证书打印,检验单一般为
A4
格式,使用部门往往需要在内容上增加页头页脚、水印等,
智睦云打印丰富的规则插件可轻松实现此类需求。
特种打印
对某些特种打印机,如吊牌、特种证书等,需要一次性批量打印上万个任务,智睦云打印的任务持久化机制和批量提交接口可很好地实现此类需求。
智慧办公
大型企业或具有先进信息化管理水平的企业,往往要求自动化打印作为行政办公或业务开展过程中的一环被高效、统一的管理。这往往需要打印任务与用户账号、组织架
构、权限体系紧密关联。同时,全国性乃至跨国企业,还要求设备管理具有跨地域、多中心的应对能力,智睦云打印的钉钉/企微/飞书插件,
以及打印机授权组织功能,帮助用户轻松解决设备授权管理问题,结合分布式的网关节点和管理节点和多种
API
对接方式,开发者可灵活定制适合自身的自动化打印方案。
二、客户端
WebAPI
方式
使用
WebAPI
方式打印,
浏览器与
WebPrinter
的交互均通过
Javascript
API
完成。
webprinter.js
是与客户端通信的基础
API,所有的打印机管理、打印任务管理行为均可通过
webprinter.js
来完成,智睦云打印客户端的控制台也是通过
webprinter.js
与云打印内核通信。
客户端
WebAPI
适用于对网络稳定性和响应时间要求较高的场景,或服务器在公网,不便于向内网推送打印任务的场景,
且仅用于浏览器唤起智睦云客户端进行打印。
通信通道
发送指令后,webprinter.js
会根据当前浏览器智能选择一种方式,
与客户端建立一条准实时通信通道。浏览器调用
webprinter.js
的
API
数据,会经由通信通道发送给客户端,客户端接收并完成处理后,再由该通道发送处理结果消息,浏览器端
webprinter.js
将以回调的方式接收并处理消息。
事件广播
对于某些特定的事件,客户端还将向所有已连接的通道发送对应的事件消息,所有已连接浏览器都将收到此消息,
并根据实际情况决定是否要进行相应的业务处理。
为了实现浏览器(webprinter.js)与客户端的准实时通信,
客户端自带了一个
http
服务,
用于接收管理和打印请求。
Http
服务监听
39899
端口,
并同时兼容
http
和
websocket
协议。
Https
网站支持
webprinter.js
也支持在
Https
网站运行。
浏览器运行
Https
网站时,将对未加密的资源进行拦截,从网络加载的
iframe、图片、
css
和
js
以及
websocket
请求都将被拦截,并提示“混合内容”错误。为了解决此问题,
webprinter.js
在检测到当前运行页面的
url
为
https
协议时,将自动将通信通道切换到
http://api.webprinter.cn
或
wss://
api.webprinter.cn
。为此,控件自带了
SSL
模块,并在安装时以服务的形式注册到系统中,随系统启动而自动启动。SSL
模块监听客户端所在系统的443端口,
如果
443
端口被其他软件占用,那么
webprinter.js
在处理
https
网站时将会失败。
api.webprinter.cn
是虚拟二级域名,必须解析到本机
IP(
127.0.0.1
)。我们已经配置在域名解析服务中将该域名解析到
127.0.0.1
地址。如果客户端所在网络配置了代理机制,
或未连接互联网,请通过修改代理机制或修改
hosts
映射的方式,使浏览器在查找域名时能够正确解析到
IP
127.0.0.1
。
浏览器还会对访问的
https
或
wss
资源的服务器证书进行验证,
如果证书的
dn
与资源域名不匹配,
或证书无效,
或证书的根证书不受信任,
浏览器都会对资源请求进行拦截。因此,为了使浏览器信任
api.webprinter.cn
域名,控件还自带了对应的
SSL
证书。我们会在每年证书到期前
1
个月更换新的证书,客户端每次启动,都会连接智睦云打印官网检测是否有新的证书,
如果有,
则下载并替代当前证书,
以保证证书持续有效。
webprinter.js
webprinter.js
提供了智睦云打印通信的底层协议实现,包含了连接状态、授权管理、打印机管理、纸张、打印机参数、任务管理等功能的最小粒度方法及事件。通过
webprinter.js,开发者可以对客户端的打印行为进行完全的控制。
导入
webprinter.js:
我们提供了在线的
cdn
js
地址,可以通过
script
导入,例如
<script
type=
"text/javascript"
src=
"
https://ss.webprinter.cn/default/6.6.1.5/webprinter.js
"
></script>
src
中的”6.6.1.
5”为版本号,请替换为客户端相同的版本号
webprinter.
js
不依赖网络,建议将调试后稳定的js
文件存到项目本地导入,避免因复杂网络原因造成的错误
获得
webprinter
实例:
可以在引入
Javascript
SDK
后的任何时机创建
webprinter
实例:
var
wp=new
com.strato.Webprinter();//注:一个页面只需一个
com
.strato.Webprinter
实例