zoukankan      html  css  js  c++  java
  • (票据/标签)打印机编程手册命令原理详细解析

    最近在公司使用票据打印机编程手册指令对成品进行测试检测,对打印命令需要深入理解,才能更好掌握它的原理和使用。
    一、票据打印编程手册
    相关打印机的打印指令/编程手册可以在网络上找到茫茫多的资源。

    像类似LF ESC开头的,并不是代表字符串,他们都是ASCII码表里排名靠前的控制字符,通过套接字传送的数据是流,而流的本质是一个个的字节,所以这些命令中,一个符号代表一个字节,而字节的值在每条命令的详解里面有参考值。
    可以对照ASCII码表对照,比如LF在第10位,十六进制是0x0A,是换行键的意思;ESC在27位,十六进制0x1B,是换码(溢出)的意思。

    比如ESC ! 选择打印模式;ESC和!都是ASCII码的值。
    ASCII码 ESC ! n
    十六进制码 1B 21 n
    十进制码 27 33 n

    主要变化是n,n是一个数字,在0-255之间取得变化,它这里有8个位(刚好一个字节)可以设置,每个位的1/0代表开关的开启和关闭,比如要设置加粗,那么n的第三位应该是1也就是2^3=8,十六进制是0x08,所以整个命令下来就是0x1B,0x21,0x08。

    知道了原理,可以把整个编程手册的指令融会理解。

    把指令发送给打印机,打印机通过socket来提供服务,可以直接用socket发送指令。(相关socket网络编程会在另外文章更新)

    通过socket的流来发送指令,所以只能把字符串转换为字节流,再传送给打印机。不同字符,比如中文,在转换字节流的时候需要设置不同的编码。

    以上的命令格式在小票热敏打印机一般是通用的,不同的是提供打印服务的方式,有的通过网络来提供套接字服务,有些通过COM串口来提供服务,不同的服务都可以转化为流来处理,所以本质上是差不多的。

    除此之外,企业可根据自身需求设计windows动态链接库测试界面,可以在打印机连接USB后直接通过电脑操作打印测试,高效便捷。

    以下整理打印机常用的ASCII码对照

    0X04:EOT:传输结束
    0x05:ENQ:请求
    0x09:HT:水平制表符
    0x0A:LF:换行键
    0x10:DLE:数据链路转义
    0x11-14:DC1-4:设备控制1-4
    0x1B:ESC:换码(溢出);在打印机中以该字符为起始的指令将立即响应,即使在错误状态也实时回应。
    0x1C:FS:文件分隔符
    0x1D:GS:分组符
    0x1E:RS:记录分隔符
    0x20:SP :空格
    0x7E:~:起始的指令用于查询打印机状态

    在网上看到有相关的C#打印机ESC指令,可以用作学习借鉴。
    https://www.cnblogs.com/rinack/p/5227133.html

    二、标签打印编程手册

    原理上与上文大致相同,不同的是打印方式和指令不同,可以相互学习理解。
    一个标签通常包含三个部分,即系统设定(蓝)、打印内容设定(绿)和执行打印指令(红)。

    系统设定:包括标签尺寸SIZE、GAP和清除缓存区数据指令CLS等。
    打印内容设定:打印文本或设计指令内容。
    执行打印指令:用于打印设计好的标签,此指令发送后才执行打印动作。
    每一条指令结尾都 需要加入换行符,即字符串“ ”或16进制0x0D 0x0A

    举例说明:PRINT指令:用于打印出存储影像缓冲区内的数据

    其他不同的指令有不同的参数,实际需要参考编程手册具体更改x,y,height,rotation(条码旋转角度),narrow/wide(窄宽比),code type等等。

    转:https://blog.csdn.net/zxh1592000/article/details/78840372

    https://gitee.com/smslit/EmbeddedPrinter

     https://www.docin.com/p-1913052817.html

  • 相关阅读:
    python多线程http压力测试脚本
    php随机生成国内ip
    HTTP请求方式中8种请求方法(简单介绍)
    PHP函数
    jquery获取span标签下的第一个span子标签内容
    php实现数据库备份导出成sql
    php实现备份数据库
    中文繁体简体问题
    编程素养Day009
    编程素养Day008
  • 原文地址:https://www.cnblogs.com/fps2tao/p/15006750.html
Copyright © 2011-2022 走看看