控制码

本节介绍可以用于创建条形码的命令的示例。

PCL转义序列

转义序列控制以<Esc>开始的字符串(十六进制:1B或十进制:27)。通过以不可打印的特殊字符代码将这些字符串嵌入并发送到此“条形码打印”功能,可以控制细节,如条形码尺寸,以及标题文本字体和字符之间的间距。
以下是有效PCL转义序列的示例:
<Esc>(s4p102h40v10,30b10,30s24670T
s4p:
位于线条之下的可读文本,无开始或停止字符(*)
102h:
标题文本字体为Univers Regular
40v:
线条高度:
40磅
公式:
40/72 = 0.555"
40*2.54/72 = 1.41 cm
10,30b:
细线条10点宽,粗线条30点宽
10,30s:
细空白10点宽,粗空白30点宽
24670T:
符号:Code 39

条形码旋转码

要旋转条形码,可以使用常规PCL旋转命令。建议在激活条形码之前保存光标位置,并在旋转条形码之后恢复原始光标位置。
示例:(输入的序列不应包含回车符。)
<Esc>&fS
保存光标位置。
<Esc>&a1000h1000V
定位光标。
<Esc>&a90P
将条形码旋转90度。
<Esc>(s4p102h40v10,30b10,30s24670T
格式化条形码。
CANON
条形码文本数据。
<Esc>(10U<Esc>(sp10hsb4099T
切换回Courier 10 cpi字体。
<Esc>&aP
停止旋转。
<Esc>&lf1S
恢复原始光标位置。

字体切换

可以将条形码字体切换为主要或次要字体。建议使用文本字体作为主要字体,使用条形码字体作为次要字体。
即使使用PCL字体序列生成的条形码也不是PCL字体。因此,适用以下字体序列限制:
字体识别码不能链接到条形码
根据机器和国家/地区的不同,条形码可能无法与HP-GL2、PostScript或PCL XL语言一起使用。

OCR-A和OCR-B字体

以下PCL转义序列启用OCR-A和OCR-B字体:
OCR-A:
<Esc>(0O<Esc>(sp10h12vsb104T
OCR-B:
<Esc>(1O<Esc>(sp10h12vsb110T
上面的表格显示OCR-A字符集。

FreeScape码

PCL码总是以不可打印的十六进制转义码:1B或十进制转义码:27开头。某些系统无法使用或向设备发送二进制数据,这些系统在将PCL语言与条形码一起使用时会出现问题。此类系统的一个示例是终端连接了打印机的大型计算机。要在此类系统中避免PCL语言与条形码之间发生冲突,可以指定FreeScape码(一种用户定义的“转义码”或AEC(“替代转义码”))。
FreeScape位于常规PCL字体序列的开头时,其作用与标准转义码非常相似。AEC的默认值为“~”(波浪符)。如果FreeScape确定为纯数据,则其会忽略AEC。也可以混合转义码和替代转义码。
AEC可以是以下10个字符中的任意一个:
"、#、$、/、\、?、{、}、|、~
要更改为替代转义码的PCL字体序列如下所示:
<Esc 或AEC>**#J
#表示新AEC或ESC的十进制ASCII值。AEC的值为34(")、35(#)、36($)、47(/)、92(\)、63(?)、123({)、125(})、124(|)或126(~)。ESC的值为27。如果指定27,则会禁用“FreeScape码”。
FreeScape转义序列设置仅对当前作业有效。
从打印机设置中的FreeScape菜单可以启用、禁用“FreeScape码”或将其设置为所有作业的参数。
FreeScape被禁用时,只能使用转义码(十六进制:1B或十进制:27)启动PCL命令。
7A6C-004