打印指令,又称打印控制命令。计算机通过打印控制语言,以软件命令的方法来控制打印机操作,解释执行打印数据,获得打印结果的。对于打印机所实现的复杂功能而言,打印控制语言是基础。它直接关系到打印输入质量的优劣。因为增强我们对打印机控制语言的了解,就可以更好地选择和使用打印机。
目前主流的打印机控制语言只要有三种:
-
Epson公司的
ESC命令
集(普通打印机)
-
HP公司的
PCL
命令集
-
Adobe公司的PostScript(简称PS)命令集
其它:
CPCL
命令集(移动打印机),
TSPL
命令集(标签打印机)
-
普通打印机都是ESC指令集
-
标签打印机这种是TSPL指令集
-
移动打印机CPCL打印语言
-
还有其它打印机厂商自己开发的打印机语言许。多厂商都使用自己的打印机控制语言,如EPSON的ESC/page,佳能的CaPSYL,施乐的XES、JDL,IBM的IPDS,DEC的ANSI/Sixel等,它们都各具特点,
ESC命令集是针式打印机和票据打印领域的事实上的工业标准;PCL命令集是低挡激光打印机、喷墨机印机领域的工业标准;PS命令集则是高档排版领域占垄断地位的页面描述语言。
ESC命令集和PCL命令集是命令解释型的语言,与高级编程语言中的BASIC相似,对每一条命令打印机立即给予响应执行。控制方式简单、方便、快速,便不能描述复杂的页面。
HPGL向量图形命令集(用于PCL5)和PS命令集都是编译型的语言。与高级编程语言中的C相似,对数条命令组成的完整程序进行编译、解释、最后驱动打印。HPGL命令集与PS相比之下又具有一些命令解释型语文的特点,只有PS语文才是一种真正的编译型页面描述语言。但两者都能够以打印页面为单位,描述打印信息,即都可实现复杂图形和图象的打印输出。
使用ESC、PCL、PostScript的软件比例占全部软件的75%以上。由此可见,这三种打印控制命令语言对于打印应用程序设计,起到了举足轻重的作用。
对于上述打印机控制语言有了一个初步的认识以后,我们来对各种语言作一个较全面的介绍。
Epson公司的Esc命令集
日本的EPSoN公司是生产计算机外部设备的者牌公司,在目前的打印机市场,尤其是针式打印机市场占有很大一部分份额。它所推行的ESC打印控制命令(EPSON StandardCode for Printer)已经成为针式打印机控制语言事实上的工业标准,ESC/POS打印命令集是ESC打印控制命令的简化版本,现在大多数票据打印都采用ESC/POS指令集。绝大多数打印机都有EPSON ESC的软件命令仿真功能,而且其它打印控制命令的格式和功能也都与ESC代码集类似。
由于早期的
操作系统
DOS与现在windows的结构不同,在打印机内部软件和应用软件之间没有由硬件厂商提供的打印驱动程序,必须由应用软件直接通过硬件接口来控制打印机,所以从ESC指令出现开始,它就是公开的,否则没有应用软件可以使用它,而除了标准的ESC指令外,每种型号的打印机其指令又不太一样,所以在DOS软件中,你可以看到每个应用软件都只是支持为数不多的几种常用打印机。
Esc指令在形式上分为两种格式,一种是文本方式控制码,一种是Escape转义序列码。文本方式控制码由一字节字符码表示,实现的是与打印机硬件操作有关的指令,Escape序列码由转义字符和参数字符或打印数据组成。
HP公司的PCL语言
PCL语言是HP公司于70年代针对其激光打印机产品推出的一种打印机页面描述语言。PCL语言与ESC指令一样是开放的。
PCL语言最初也是为点阵打印机设计的,PCL3是第一个得到广泛应用的版本,但它只支持一些简单的打印任务。PCL4虽然还只能应用在个人打印机中,但增加了对图形打印的支持,但由于解释工作比较简单,PCL4比后期的PCL5和PCL6对打印控制器的要求要低很多。
到PCL4时,功能已大大增强,主要是支持可任意改变的字模(Scalabe Fort)和支持HP的绘图语言即HP GI—/2语言,后者使激光打印设备可作为绘图设备使用。
PCL5(PRINTER CONTROL LANGUAGE VERSION 5)是HP公司推出的一种打印控制语言,是一种解释性的命令语言,这与BASI
C语言
类似。打印机对每条接收到的命令,马上解释执行,而不用等待所有命令全部接收。与此相对的是编译型的语言(如C)。ADOBE公司的PostScript打印页描述语言等),强调语句的模块化和完整性,只有全部命令都接收到后进行编译连接,才能完成相应的功能。
1996年HP公司发布了PCL6,它更加灵活,是一个目标朝向的控制语言,使处理多图形的文件的速度大大加快,实现了更好的WYSIWYG,因此可以更好地处理Web页面。
Adobe公司的PostScript(简称PS)命令集
PostScript是Adobe公司的产品,和Epson和HP不一样,ADOBE公司不是打印设备制造商,而是一个工具软件开发商,所以PostScript语言从它一诞生就有着与ESC和PLC完全不同的特性,更符合软件的设计思想,它是一种与设备无关的打印机语言,即在定义图像时可以根本不考虑输出设备的特性(如打印机的分辨率、纸张大小等),而且它对文本和图形实行同样的处理过程,这就给处理字体带来了极大的灵活性。
由于PostScript的设备无关特性,在输出到特定输出设备,譬如对分辨率、纸张大小、进纸盒进行选择时,PostScript通过打印机描述(PostScript Printer Description )文件来实行各种打印机的不同特性。PPD文件主要提供以下与打印机有关的特定信息: 默认/最高分辨率,是否支持半色调监控,用户设定的监控信息,页面大小定义,页面可打印区域,默认字体(通常为Courier),是否支持双面打印等等。
通过PS驱动程序,各种不同的应用软件将各自的数据转换成PostScript格式。从打印引擎的工作原理可知,打印机只能接受位图格式,当打印机控制器将PostScript转换成位图格式时,由于PostScript十分复杂,一般的打印控制器难以胜任,通常由打印机中专门的光栅图像处理器(Raster Image Processor)来完成这一转换过程。
由于使用PostScript打印机对打印控制器的要求都比较高,另外PostScript是Adobe公司的注册产品,打印机厂商在其产品中使用PostScript语言要支付Adobe公司一笔费用,就像PC厂商支付给Microsoft公司的操作系统费用一样,因此使用PostScript的打印机的成本要比使用其他语言和控制方式的打印机要高。因此目前也出现了一些PostScript仿真,像HP公司的一些激光打印机中使用的PostScript仿真,可以和Adobe公司的PostScript完全兼容,也无需再支付Adobe公司相应的费用。
PostScript语言是一种广泛应用于光栅设备的页描述语言。它能在设备无关的前提下,提供极强的正文与图形描述能力,例如可任意平移、旋转、缩放正文字符和以字符及任意封闭区域作为裁剪区的边界。由于PostScript的这些特点,加上性能优越、价格低廉的激光打印机的出现,特别是Apple Laser writer激光打印机在商业上的成功,使得PostScript已经成为高质量专业排版印刷领域”事实上”的工业标准。
PostScript语言的真正兴起是Adobe公司在1985年发表的PostScriptlevell。其丰富的图形功能,高质量的T叩e1字模以及对页面描述的设备无关性,使PostScr5pt语言被普遍接受并成为事实上的工业标准。各种流行的西文排版和图形软件,如Pagemaker,Veatura,Quake eXpess,CorelDraw等等,都支持PostScript。
在1990年底,Adobe公司推出的PostScriptlevel2,无论是在描述能力还是在描述效率上都更上一层楼,进一步巩固了PostScript语言作为标准页面描述语言的地位。而且,最近国际标准组织ISo的JTCl/SC24委员会已把PostScript语言推荐为开发图形正文标准的一个主要参考语言。
postscript语言之所以得到广泛的应用,是与它所具有的极强的处理图形正文的功翰分不开的。作为一种页描述语言(即PDL),Post3cript具有如下特点:
1)能够精确地描述各种复杂的图形、图象以及正义,可对它们进行平移、旋转、放缩答操作;而且它把正文作为图形来处理。
2)采用灵活的摸板/涂料式(Stencil/Paint)的图象映象模型。不仅适合于Ntml及向量笔划描述图形,而且适合于采用三次曲线轮廓来实现图形描述。这种模型的裁剪区域不仅可用矩形框,而且可用封闭的任意区域。
3)支持设备独立性。
4)它也是一种程序设计语言,具有后缀式的表达方法。由前言和文稿两部分组成程序结构,有13种简单及复合对象类型,其操作符的语义是动态的。
PostScr5pt语言是一种页面描述语言,打印的页面数据信息通过打印机内置的PostScript语言解释器完成,当解释器执行描述字16、图形和图象的命令时,它把高级的PostScript语言描述转换为特定输出设备(如打印机)上的低级光栅数据格式。Postscript语言有三分之一的操作符面向图形处理,其余的三分之二可用作一般的计算机程序设计语言。
一般说来,PCL语言比较适合一些普通的商务办公应用,而PostScript语言更加适合对图形和色彩准确度要求比较高的专业应用。
CPCL命令集
SDK文档
CPCL命令集文档地址:
http://www.docin.com/p-2160105026.html
CPCL命令集SDK下载(这里以厦门汉印电子技术有限公司的 HM-Z3打印设备为案例):
http://cn.hprt.com/XiaZai/HM-Z3
这里面包括了Android iOS Windos设备SDK和用户手册,编程手册
服务器接口JSON API控制设备打印格式
"config":{ //公共全局参数
"offset":6,
"h":200,
"v":200,
"height":200,
"qty":1
"data":[
"type":"barCode", //类型:条形码
"value":"0002080700999961702", //条形码编号
"orientation":"BARCODE", //默认是横向,不传为默认
"barCodeType":"128",
"height":0,
"x":20, //X坐标值 从左往右边
"y":20, //Y坐标值 从上往下
"align":"LEFT",
"codeTextFont":4, //条形码的下方字体字号
"codeTextSize":2 //条形码下方字体大小
"type":"text",
"value":"贴片电阻", //打印输入文本的内容
"height":200,
"x":20,
"y":20,
"align":"LEFT",
"textFont":4,
"textSize":2
概述打印指令,又称打印控制命令。计算机通过打印控制语言,以软件命令的方法来控制打印机操作,解释执行打印数据,获得打印结果的。对于打印机所实现的复杂功能而言,打印控制语言是基础。它直接关系到打印输入质量的优劣。因为增强我们对打印机控制语言的了解,就可以更好地选择和使用打印机。目前主流的打印机控制语言只要有三种:Epson公司的ESC命令集(普通打印...
C
PC
L是目前蓝牙
打印机
流行的
指令
集,但是C
PC
L只方便阅读,但是对应的效果图不太直观。
这里有款简单方便好用的工具,可以查看C
PC
L/
TSPL
指令
,只需要打开工具,把C
PC
L
指令
文件命名为"*.hex",然后打开工具,
鼠标双击工具中央就可以查看效果对应的
指令
效果,如下所示。
如下图,左边为C
PC
L
指令
数据,右边为对应的效果图。
ESC
TSPL
指令
tspl
是一套通用的标签
打印
指令
,许多
主流
标签
打印机
都支持此
指令
。但是网上资料较少,这里主要分享一下android和ios的
打印
基本算法。
指令
文档
指令
文档网上较少,这里引用一个链接吧 TSC条码
打印机
指令
TSPL
手册,各个厂商可能基于此
指令
有少量diy,具体可以查看自己
打印机
对应厂商的文档。
请详细阅读
指令
手册,具体
打印
步骤,以
打印
图片为例:
SIZE 设置标签大小
GAP 设置标签缝大小
BITMAP 绘制图像
PRINT
打印
如果需要反向
打印
,需要在
目前各行业均在大量使用便携式移动
打印
设备,如快递小哥上面收寄包裹时现场
打印
快递面单,交警当面违章处罚,停车缴费等等都可能使用到便携式移动
打印
设备。便携式移动
打印
设备具有蓝牙或USB接口,自身带有充电电池,可以通过手机、PDA等设备控制
打印
,使用非常方便。
常见的便携式移动
打印
设备, 如斑马、汉印、新北洋一般均采用C
PC
L协议,
打印
指令
和
打印
设备之间一般通过蓝牙接口或USB接口传输。
标题一、如何使用C
PC
L
打印机
C
PC
L是一种简单、高效、基于文本格式的
打印
命令集
,使用C
PC
L协议
打印机
,必须要对C
PC
L打
PC
L目前比较流行的是点云[point cloud language]的缩写,由于前两年ADAS的兴起,激光雷达和毫米波雷达得到很大的发展,点云就是点阵雷达发展的副产物,相对来说不需要路面驾驶这么高的实时性。
好了,我找了半天,总算找到正主,Printer Command Language (
PC
L)的开发文档。我找到了
pc
l_xl_2_0_technical_reference_rev2_2....
因公司需要实现产品标签批量
打印
,用的TSCTTP-244 Pro
打印机
;“黑底白字”的
打印
一直困扰着我,这次不管老板多爱惜标签纸又重复测试了之前的命令,得到“黑底白字”的效果;此文写给和我有同样需求的新人们。
TSC 是源自宝岛台湾的
打印机
,官方文档外文或繁体的,很难找到简体中文的(即时找到简体中文的,也可能是用工具将繁体转简体,大陆“数据
类型
”,繁体中文作“型别” 初次接触还难以理解);
......
首先**ZPL(Zebra Programming language)**是斑马家搞的ZPL语言,用于和
打印机
通讯
打印
开发的
指令
。
然后理解了这个只是个
指令
的东西后,我们接着就想想怎么弄,本着怎么简单怎么来的原则, CSDN翻来翻去,找不到现成的。就自己摸索摸索吧。
工具: **ZebraDesigner**
目的:生成我们想要的ZPL
指令
,实在记不住站里面一堆
指令
设置。
在Designer里设计了如下画风
生成ZPL
指令
开始-------> 选择
打印
最后找到我..
1.我的
打印机
型号为hm-a300,它要求编码为gb2312,要求
指令
c
pc
l
指令
集
2.附上个人操作c
pc
l
指令
的工具类,你也可以根据自己的习惯重新编一个工具类
3.附上base64gb2312.js
以下代码只保留
打印
部分,蓝牙连接部分github上有一位大神弄得挺好的
写数据部分
writeBLECharacteristicValue() {
var printUtil ...
uni-app 使用蓝牙
打印机
ESC
/POS
指令
基础方法
最近项目使用uniapp的框架,连接蓝牙
打印机
,参考网上的资料,写的都不错,使用借鉴了一个博主的内容,
打印
后发现
打印
结果格式控制不对。
由于测试的
打印机
,没有说明,后来查找资料,找到了生产厂家的信息:兼容
ESC
/POS
指令
集, 更多字符样式设置
指令
。那么问题在于解决
打印
指令
。
打印
指令
可以找到很多说明的资料
打印
指令
,又称
打印
控制命令。计算机通过
打印
控制语言,以软件命令的方法来控制
打印机
操作,解释执行
打印
数据,获得
打印
结果的。对于
打印机
所实现的复
这里文章太x: