# 打印功能概览

KIC提供高负荷大批量打印的支持,可以轻松应对数千页以上的打印任务。

独有的 严格打印模式 还可以准确了解打印机的实时工作状态(失败原因:缺纸、卡纸,是否真正打印成功),应对各种场景的打印功能需求。

并且可以对各类打印参数进行设定,如:打印色彩、单双面、纸张尺寸、打印质量、份数等等。

同时还提供 『KHES 端到端混合加密』 等高级功能。

# 整体打印流程

提示

在开始调试接口前,请先了解KIC打印的流程与相关要求。

img.png

终端侧支持打印队列,如果您有多个文件需要打印,可以同时依次调用API接口创建打印任务,终端侧会依次进行打印,不需要等待打印完成。

打印流程可结合 『回调通知』 来进行:

  1. 当打印任务创建后设备收到指令时,您的Web服务会收到 print.ack 的事件回调。(如果在下发打印任务前发生异常,如文件拉取失败等情况,则不会收到此事件)

  2. 当前设备下载、处理完待打印文件后并开始打印时,您的Web服务会收到 print.start 的事件回调。(如果在开始打印前发生异常,则不会收到此事件)

  3. 当打印任务结束时,此时您的Web服务会收到 print.finish 的事件回调。(打印成功、打印失败都会收到此事件)

# 打印前的准备

在开始扫描前请确保功夫智盒设备已正常启动、网络连接成功、已正确连接打印机、打印机已开机并状态正常。

请根据打印的纸张类型,放置好足够的打印纸张,确保打印机墨水或硒鼓充足

设备在接收到打印任务时,会发出"嘀嘀"两声 提示音,准备开始打印。若设置了回调地址,此时您的Web服务会收到 print.ack 的事件回调。

注意

KIC支持打印队列,但如果您并发创建打印任务(例如:1毫秒内创建多个任务),此时KIC无法确保任务的打印顺序和创建的顺序一致。您可以尝试间隔100毫秒左右再创建下一个任务。

# Strict 严格模式

KIC对部分型号的打印机提供严格模式打印,例如EPSON的大部分机型,具体是否支持严格模式,请调用 打印机能力API接口 进行查询。

开启严格模式的打印任务,会对打印机的状态进行严格检查,当打印机异常时不会进行打印动作,并且在打印任务的文件完全打印完成后才会触发打印结束事件(如不开启严格模式,则打印完成事件可能比实际打印完成提前几秒)。

如果在打印过程中打印机发生异常(如:缺纸、卡纸等),您还可以通过设备详情(或 client.printer_state 事件回调)中的 打印机错误码 查询到对应的打印机状态。

开启严格模式后,如果同时连续打印多个任务,每个任务之间可能会多几秒的间隔时间。

提示

如果您的业务场景需要准确了解每个任务的实际打印状态,可以开启严格模式。如果在大印量场景,可以不开启严格模式来加快实际的打印速度。

# Direct 直传模式

只有在创建打印任务提交文件URL file_url 时才可以开启直传模式,直传模式会由设备终端直接拉取并进行打印,即文件不会经过KIC服务器

如不开启直传模式,KIC将会在云端对文件进行预加载与预处理,设备终端会使用内部加密协议进行文件的高速安全传输。

注意

KIC在文件传输上进行了非常多的优化,能够使文件下载更加快速稳定,如果开启直传模式,KIC无法保证打印的速度与稳定性,打印文件的下载速度和您提供的文件存储服务器有关,有可能由于网络不佳导致文件下载失败。

除非业务场景必须使用直传模式,否则不建议开启。如果开启直传模式,建议满足以下几点:

  • 带宽资源充足,并且确保终端网络到服务器的延迟较低

  • 建议提供URL的服务器支持 Accept-Ranges: bytes 文件下载方式

  • 非常建议URL使用https协议,否则无法在网络链路侧确保文件安全

# 提示音

  • 接收到打印指令:短音 2声 嘀、嘀

  • 打印结束:短音 4声 嘀、嘀、嘀、嘀

  • 打印异常:长音 3声 嘀——、嘀——、嘀——