跳转到内容

CPCL 指令

CPCL (Comtec Printer Control Language) 是一种用于便携式标签打印机的文本形式指令语言。

CPCL 指令使用可读的文本格式,每条指令由指令头和参数组成,参数之间使用空格分隔。

指令头 参数1 参数2 参数3 ...
  • 字符串需要用双引号 " 包围
  • 文本中包含双引号需转义为 ["]
TEXT 4 0 100 100 "Hello World"
TEXT 4 0 100 150 "Say ["]Hello["]"

创建打印页面,设置页面尺寸和打印份数。

! 偏移 水平分辨率 垂直分辨率 标签高度 打印份数
参数说明单位
偏移页面偏移量dot
水平分辨率打印头水平分辨率DPI
垂直分辨率打印头垂直分辨率DPI
标签高度标签纸高度dot
打印份数打印的份数-

示例:

! 0 200 200 400 1

设置页面宽度。

PAGE-WIDTH 宽度
参数说明单位
宽度页面宽度dot

示例:

PAGE-WIDTH 576

设置打印机定位模式。

FORM
  • FORM - 定位到下一标签(可在 PRINT 指令之后调用)
  • FEED - 定位到标签(需在 PRINT 指令之前调用)

打印文本内容。

TEXT 字体 大小 X Y "内容"
T 字体 大小 X Y "内容"
参数说明
字体字体编号
大小字体大小
X文本起始 X 坐标(dot)
Y文本起始 Y 坐标(dot)
内容要打印的文本
字体枚举字体编号大小点阵高度
TSS1655016
TSS206020
TSS2424024
TSS287028
TSS324032

示例:

TEXT 24 0 50 50 "产品名称"
TEXT 7 0 50 100 "规格型号"
T 4 0 50 150 "大号文字"

打印旋转角度的文本。

T90 字体 大小 X Y "内容"
T180 字体 大小 X Y "内容"
T270 字体 大小 X Y "内容"
指令旋转角度
T0° (默认)
T9090°
T180180°
T270270°

设置文字放大倍数。

SETMAG 横向倍数 纵向倍数
参数说明范围
横向倍数水平放大倍数1-8
纵向倍数垂直放大倍数1-8

示例:

SETMAG 2 2
TEXT 24 0 50 50 "放大两倍的文字"
SETMAG 1 1

设置文字加粗。

SETBOLD 开关
参数说明
1开启加粗
0关闭加粗

示例:

SETBOLD 1
TEXT 24 0 50 50 "加粗文字"
SETBOLD 0

设置文字下划线。

UNDERLINE 开关
参数说明
ON开启下划线
OFF关闭下划线

示例:

UNDERLINE ON
TEXT 24 0 50 50 "带下划线的文字"
UNDERLINE OFF

设置文本对齐方式。

CENTER
LEFT
RIGHT

示例:

CENTER
TEXT 24 0 0 50 "居中文本"
LEFT
TEXT 24 0 30 100 "左对齐文本"
RIGHT
TEXT 24 0 0 150 "右对齐文本"

打印反白文字。

INVERSE-LINE X Y 宽度 高度
参数说明
X反白区域起始 X 坐标
Y反白区域起始 Y 坐标
宽度反白区域宽度
高度反白区域高度

打印一维条码。

BARCODE 类型 窄条宽度 宽窄比 高度 X Y "内容"
参数说明
类型条码类型
窄条宽度窄条的宽度
宽窄比宽条和窄条的比率
高度条码高度(dot)
X条码起始 X 坐标
Y条码起始 Y 坐标
内容条码数据
类型说明默认窄条宽度
128Code 1282
39Code 392
93Code 931
CODABARCodabar2
EAN8EAN-82
EAN13EAN-132
UPCAUPC-A2
UPCEUPC-E2
I2OF5Interleaved 2 of 52

示例:

BARCODE 128 1 2 50 50 200 "1234567890"
BARCODE EAN13 1 2 60 50 300 "6901234567890"

打印旋转的条码。

VBARCODE 类型 窄条宽度 宽窄比 高度 X Y "内容"
BARCODE90 类型 窄条宽度 宽窄比 高度 X Y "内容"
BARCODE180 类型 窄条宽度 宽窄比 高度 X Y "内容"
BARCODE270 类型 窄条宽度 宽窄比 高度 X Y "内容"
指令旋转角度
BARCODE0° (默认)
VBARCODE90°
BARCODE9090°
BARCODE180180°
BARCODE270270°

打印二维码。

SETQRVER 纠错级别数值
旋转角度
QR X Y M 2 U 宽度
纠错级别A,内容
ENDQR
参数说明
纠错级别数值L=1, M=2, Q=3, H=4
旋转角度0/90/180/270
X二维码起始 X 坐标
Y二维码起始 Y 坐标
宽度单元格宽度 (2-20)
纠错级别L/M/Q/H
内容二维码数据
级别数值纠错能力
L17%
M215%
Q325%
H430%

示例:

SETQRVER 2
0
QR 50 100 M 2 U 6
MA,https://example.com
ENDQR

画直线(可画斜线)。

LINE X1 Y1 X2 Y2 宽度
参数说明
X1起始点 X 坐标
Y1起始点 Y 坐标
X2终点 X 坐标
Y2终点 Y 坐标
宽度线条宽度

示例:

LINE 30 100 546 100 2
LINE 30 100 200 300 1

画矩形边框。

BOX X1 Y1 X2 Y2 宽度
参数说明
X1左上角 X 坐标
Y1左上角 Y 坐标
X2右下角 X 坐标
Y2右下角 Y 坐标
宽度边框线宽

示例:

BOX 30 50 546 350 2

打印位图图片。

EG 字节宽度 高度 X Y 图片数据
CG 字节宽度 高度 X Y 图片数据
参数说明
字节宽度图片宽度/8
高度图片高度(dot)
X图片起始 X 坐标
Y图片起始 Y 坐标
图片数据十六进制图片数据

打印水印图片。


{S}
{SN}
{M}
{V}
{B}

执行打印任务。每个 CPCL 任务必须以 PRINT 指令结束。

PRINT

! 0 200 200 400 1
PAGE-WIDTH 576
CENTER
SETMAG 2 2
TEXT 24 0 0 30 "商品标签"
SETMAG 1 1
LEFT
LINE 30 80 546 80 2
TEXT 24 0 30 100 "名称: 有机苹果"
TEXT 24 0 30 140 "规格: 500g/袋"
TEXT 24 0 30 180 "产地: 山东烟台"
SETBOLD 1
TEXT 24 0 30 220 "价格: ¥25.90"
SETBOLD 0
BARCODE 128 1 2 50 100 280 "6901234567890"
SETQRVER 2
0
QR 400 100 M 2 U 5
MA,https://example.com/product/123
ENDQR
PRINT
! 0 200 200 800 1
PAGE-WIDTH 576
BOX 20 20 556 780 2
CENTER
SETMAG 2 2
TEXT 24 0 0 40 "快递单"
SETMAG 1 1
LINE 20 90 556 90 2
LEFT
TEXT 24 0 40 110 "寄件人: 张三"
TEXT 24 0 40 150 "电话: 138****1234"
TEXT 24 0 40 190 "地址: 上海市浦东新区"
LINE 20 230 556 230 1
TEXT 24 0 40 250 "收件人: 李四"
TEXT 24 0 40 290 "电话: 139****5678"
TEXT 24 0 40 330 "地址: 北京市朝阳区xxx路xxx号"
LINE 20 380 556 380 2
CENTER
BARCODE 128 2 2 80 0 420 "SF1234567890123"
TEXT 7 0 0 520 "SF1234567890123"
SETQRVER 2
0
QR 200 580 M 2 U 8
MA,SF1234567890123
ENDQR
PRINT

如需在应用中集成 CPCL 指令,请参阅对应语言的 SDK 文档:

CPCL 完整指令文档 (PDF)