标签模板里多个对象叠在一起是常态:底色块、边框、公司名、条码、可读字符、序列号,往往压在同一片区域上。屏幕上看不出问题,一到实物就发现条码整块空白、文字少了一截,或者本该黑底白字的地方打成了白底黑字。这类问题很少是打印机坏了,多数是对象的叠放顺序(也叫前后顺序、层序、z 序)或填充属性设错,让后画的一层把先画的一层盖掉了。
本文回答的是「内容被盖住」这一类问题:为什么设计器里看得见、打出来没有;为什么换个软件、换台机器、换一种打印方式结果就不一样;以及从软件界面到打印机指令这两层,各自该怎么改。全文按「现象 → 原因 → 步骤」展开,覆盖 BarTender、NiceLabel、ZebraDesigner、Brady Workstation、CODESOFT 五个常用软件的层序入口,也给出 ZPL 与 TSPL 指令层的绘制顺序与反白做法,最后附九步排查顺序与验收样张。
先划一条边界:如果对象是位置被挪动了(跑到边上、整体偏移、被别人拖动改版),属于模板被改动的范畴,应按位置与锁定方向排查,不在本文范围内;如果对象在设计器里本身就看不见,先查可见性与打印状态,也不是层序问题;如果是文字太长自动换行压到了条码上,那是内容溢出问题,与本文的「对象叠放」不是同一回事。本文只处理一种情况:对象位置对、内容也在,但被另一个对象挡住或覆盖。
一、先把「被盖住」分成五类,方向不同查法不同
同样是「少了内容」,成因和处置差别很大。先归类再按对应方向排查,可以避免一上来就重画模板。
- 整块消失。条码或整行文字所在的位置完全是空白,标签其余内容正常。典型是后加的一个白色实心矩形正好压在条码上。
- 局部缺角。只有重叠的那一小块没了,条码一侧被切掉一截,扫描时好时坏。多见于背景块比条码小一点、位置差几个毫米。
- 反白失败。设计意图是黑底白字,实物却是白底黑字,或者整块全黑。前者是文字没做挖空,后者是反白范围设得过大。
- 只在某种输出方式下出现。设计器预览正常、导出 PDF 正常,直接打实物缺内容;或者这台机器正常、那台机器缺内容。指向的是软件合成方式与打印机指令顺序的差异。
- 换数据后才出现。短数据一切正常,长数据、二维码版本变高之后才被盖住。这是对象尺寸随内容变化后压进了背景块,处置上既要调层序,也要给可变对象留出增长空间。
五类里,第一类和第二类靠层序调整就能解决;第三类要区分「软件合成位图」与「下发原生指令」两条路径;第四类必须先确认打印方式;第五类要同时改模板结构与数据长度上限。归类做完,后面每一步才有意义。
二、图层其实是三个变量,不是「谁在上面」一句话
多数标签软件并不像图像软件那样有完整的图层树,它给对象的是一个序号:谁排在后面,谁就后绘制,后绘制的覆盖先绘制的。在这个基础之上,还有两个容易忽略的变量,一共三个。
- 叠放顺序(对象级)。新加的对象默认在最上面。四个标准命令是「置于顶层、上移一层、下移一层、置于底层」。改的是对象在队列里的位置,不是坐标。
- 填充与不透明属性。一个矩形可以是「无填充(透明)」,也可以是「白色实填」。两者在屏幕上几乎一样,打印行为完全不同:透明不遮挡下面的内容,白色实填会把它覆盖的区域整片打成不打点。这是最常见的误判来源。
- 组内顺序与层的两级结构。对象编组之后,组内相对顺序被固定;把整组移到顶层,组内原本在下面的对象仍然在下面。部分软件(BarTender、NiceLabel、ZebraDesigner)还有「层(Layer)」这一级容器:层与层之间按层的顺序比较,层内再按对象顺序比较。改动之前要先确认自己在改哪一级,否则会出现「点了置于顶层却没反应」。
把这三件事分开的好处是:绝大多数现场问题,只需要动其中一件。排查时先定位是哪一件错了——层序错就调层序,填充错就改填充,组内顺序错就先取消编组、调好再编组。
三、五个软件里「谁在上面」的具体入口
各家菜单叫法不同,但都是同一组四个命令。下面按软件给路径,排查时照做即可,不必记快捷键。
BarTender。右键目标对象 → 排列 → 顺序,里面有「置于顶层、上移一层、下移一层、置于底层」;也可以从顶部「排列」菜单进入同一个子菜单。此外,工具箱里的「图层」窗格可以拖动排序,列表顶部的图层打印在下方图层之上;合并两个图层时,源图层与目标图层都必须先解除锁定,否则合并不可用。
NiceLabel。右键对象 → 排列,同样四个命令;右键 → 移到层可以改变对象所属的层,但只能移到未锁定的层。编组之后,右键组 → 排列,四个命令作用于整组。锁定的对象会显示锁定标记,锁定只阻止移动,不阻止层序变化。
ZebraDesigner。右键对象 → 排列,四个命令齐全;功能区「对象」分组里也有同一组按钮,两处等效。锁定/解锁同样只防移动。
Brady Workstation(Custom Designer)。选中对象 → 排列 → 图层 → 置于顶层 / 置于底层。官方知识库给过一个很典型的例子:先画一个红色实心矩形,再输入黑色文字,把文字拖到矩形上,文字完全看不见,而且打印时也不会出现;解决办法是把文字置于顶层,或把矩形置于底层。LabelMark 6 里对应的是格式工具栏上的「前置 / 后置」两个按钮,作用是把重叠的对象重新排序,让所有层都显示出来。
CODESOFT。对象支持分层、前景与背景控制,以及置于顶层 / 置于底层的操作。有一个操作细节值得记住:在重叠位置右键,菜单只作用于该位置最上面的那个对象;要选中被压在下面的对象,先把上面的对象「置于底层」或移开,再右键。另外要注意区分:TEKLYNX 软件里「层(Layers)」窗口管的是一个打印作业中的前置标签、主标签、后置标签,属于作业结构,不是对象的叠放顺序,两者不要混为一谈。
四、白色填充块是最常见的元凶
现场最典型的组合是这样:标签面材本身有浅色底纹或预印刷图案,为了遮住底纹,在模板里加了一个白色实心矩形;后来同一个位置又要放条码,条码是后加的、按理说在上面,但某次调整中矩形被拖到了最上层,或者条码被「下移一层」,结果整块条码被白色实填覆盖。屏幕上白色与标签底色一致,看着像空的,实际打印时那一片就是不打点。
判定方法有三个,按成本从低到高:
- 临时改色。把可疑矩形的填充改成红色或洋红,加一圈黑色边框,立刻能看出它到底盖住了什么。确认完再改回去。这一步不影响最终文件,只要不保存即可。
- 逐层点选。按住 Ctrl 逐个点击重叠位置,看每次选中的是哪个对象、选择框在条码之上还是之下。软件状态栏通常会显示对象类型与坐标,可以据此判断层序。
- 导出对照。把模板导出为 PDF 或图片,与设计器截图叠加对比。缺口的边界如果是规则的矩形,基本可以锁定为某个填充块。
顺带说清一个常见误解:反白不等于把文字设成白色。热敏与热转印打印没有白墨,白色在物理上就是「不打点」,露出来的是标签底色。所以黑底白字的正确做法是「先有黑底,再把文字从黑底里挖空」,而不是「在黑底上写白字」。BarTender 官方示例的路径是:先放条码,把符号与可读文本的颜色设为白色;再画一个黑色矩形盖住条码;最后对矩形执行「置于底层」,于是条码显示为黑底白字。顺序错一步,结果就完全不同。
五、反白真正的实现方式,取决于打印方式
同一个「黑底白字」的模板,在不同打印路径下会有两种完全不同的实现:
- 软件合成位图。软件把整张标签渲染成一张位图再发给打印机,挖空是按像素算的,所见即所得。缺点是数据量大、速度慢。
- 下发原生指令。软件把每个对象翻译成打印机自己的绘图指令,速度快、打印头控制精细,但覆盖关系由打印机按指令顺序执行,白色是否「擦除」取决于指令本身有没有这个语义。
BarTender 的对象打印方式可以按对象类型分别设置:打印对话框 →「对象打印方式」,可以把「方框」单独设为光栅图形,其余对象仍走原生指令。官方排障指南也建议,遇到打印结果与预览不一致时,先把「性能」选项卡里的选项全部取消,再把所有对象的打印方式设为光栅图形,让软件生成更简单的打印机代码,用于判断问题是否出在指令优化上。社区里有一个对应案例:黑底白条码的标签,需要把条码的打印方式设为「条码与可读文本由 BarTender 控制」,并把方框对象设为光栅图形,否则下发的白色方框不会按预期挖空,实物上黑块照旧。
这条经验可以推广成一句判据:层序问题只在同一种合成方式内部可比。如果换了打印方式、换了驱动、换了机器之后表现变化,先怀疑合成方式,而不是回去重排版面。
六、指令层:ZPL 与 TSPL 都按命令先后作画
绕过软件直接下发指令,或者用 ERP、MES 拼指令打印的场景,层序就变成了「谁先写、谁后写」。两套主流指令的行为如下。
ZPL(Zebra)。格式内的字段按出现顺序写入缓冲区,后写的覆盖先写的。几个关键点:
- ^GB 画块。语法是 ^GB 宽,高,线宽,颜色,圆角。颜色取 B 为黑、W 为白;线宽等于高度时成为实心块。颜色取 W 时,这个块会把它覆盖的区域擦成白,因此它是「擦除」工具,不是「背景」工具;在空白标签上打白块等于什么都没打。
- ^FR 反白。它只对它后面紧跟的那一个字段生效,作用是把该字段与下方已有内容做反相,所以深色底块必须先画。底块没画或画在文字之后,文字不是被覆盖就是白字打在空白上、什么也看不见。^FR 由 ^FS 清除,每个需要反白的字段都要单独加。
- ^LR 整片反白。它对其后的所有字段生效,一直持续到 ^LRN 或下一个新格式。忘记复位,标签会从中间某一处开始整片反色,这类现象经常被误判成「文件坏了」。
- 两个反相字段叠在一起会互相抵消。反相本质是异或运算,第二层反相把第一层的效果翻回去,这一点在叠放多层反白时特别容易踩。
TSPL(TSC 等)。命令按文档顺序逐条写入图像缓冲区,顺序就是绘制顺序。相关的三条命令:BAR 画实心黑条;ERASE 把指定矩形区域清成白,会覆盖之前画的内容(官方示例就是先 BAR 再 ERASE 挖洞);REVERSE 把指定区域黑白互换,用于反白文字块。两条硬约束要记住:4 英寸宽度下,反白区高度建议不超过 12 mm,超过可能影响电源负载与打印质量;打印比例也有上限,桌面机约 20%、工业机约 30%。所以 TSPL 上的反白块不要越做越大,宁可拆成几条。
把两套指令放在一起看,就能解释一个常见现象:同一个模板在 Zebra 机器上正常、在 TSC 机器上文字被盖,多半不是模板错了,而是两套指令的绘制顺序与反白机制不同,软件翻译出来的指令序列在另一套机器上得到了不同结果。
七、为什么换台机器、换种打印方式就变了
层序在软件里是一个确定值,到实物上却会变,通常来自四个差异点,按排查优先级排列:
- 合成方式不同。位图合成与原生指令,如上一节所述。
- 驱动的对象优化不同。部分驱动会把矩形、线条合并,或把多个小对象拼成一个图形对象重排绘制顺序。同一份模板换一个驱动版本,结果就可能变。
- 打印机的绘图缓冲机制不同。有的机型边接收边打印,有的整页组好后一次成像,后者对覆盖顺序更敏感。
- 分辨率与缩放不同。203 dpi 与 300 dpi 下同一个对象的像素边界不同,本来刚好压在条码边缘的背景块,可能在另一种分辨率下压进了条码本体。这一项与尺寸换算问题相邻,但表现是「只有部分机器缺角」。
处置顺序建议是:先在出问题的那台机器上固定打印方式(统一为光栅图形)复测一次;如果正常,问题在合成方式,不必改模板;如果仍不正常,再回到软件里查层序。反过来做,很容易在模板上反复微调却始终对不上。
八、三种「看不见」的颜色陷阱
除了白色实填,还有两种与颜色相关的伪层序问题,现象相似、成因不同。
- 白底白字。文字颜色是白色,背景也是白色或浅色,屏幕上几乎看不见,打印出来等于没打。这类问题常出现在从深色模板改浅色模板的迁移中,改文字颜色即可,不必动层序。
- 把「白色」当成「透明」。不少软件的颜色选择里有「无填充」「透明」与「白色」两个不同选项,选错就会出现「我没画东西,怎么把条码盖住了」。判断标准很简单:把标签底色临时改成一个鲜艳颜色,如果该区域仍显示白色,说明是实填白;如果跟着变色,说明是透明。
- 有色面材上的白字。标签本身是浅黄、浅灰或有预印刷底色时,白色文字打出来是面材色,看起来像「透过去了」,实际是白色墨点没有形成对比。这类要改的是设计对比度,不是层序。
还要区分一种情况:对象在设计器里本身就看不见,且不是被别的对象挡住,那属于可见性与打印状态设置,处置方向完全不同,不在本文讨论范围。
九、误判排除:四种不是图层问题的「缺内容」
动手排查层序之前,先用两分钟排除下面四种,可以省掉很多无效返工。
- 打印头坏点或纵向白线。特征是位置固定、从上到下贯穿所有内容、与对象边界无关。换一张内容完全不同的标签打,白线位置不变,即可确认。
- 碳带褶皱与横向白纹。白纹横向、位置随走带变化,时有时无,与模板无关。停机重新装带后消失,即可确认。
- 浓度过高糊死。条码条空粘连、边缘外扩,肉眼看上去像「少了一块黑的」,实际是墨扩散。降浓度或降速度后恢复,即可确认。
- 静区被占或超出可打印区。条码本体完整,但左右或下方的静区被别的对象、边框、预印刷图案压住,扫码等级下降甚至扫不出;或者对象位置超出可打印区域,被机器裁掉。前者要清空静区,后者要调整边距。这类与层序是「近亲」,判据是:条码条空本身完好,只是周边环境不对。
静区这一项值得单独强调:不少现场把「条码扫不出」当成层序问题去调前后顺序,实际是静区被一个装饰性边框占了。按 ISO/IEC 15416 做等级验证时,静区不足会直接拉低等级,而肉眼几乎看不出差别。
十、九步排查顺序(照做即可)
- 打一张实物,与设计器同尺寸截图并排,用笔标出缺失区域的边界,先判断是整块、缺角还是反白失败。
- 在设计器里给所有可疑对象临时加红色边框,确认哪个对象压在哪个对象上面。
- 按住 Ctrl 逐层点选,记下重叠位置的对象清单与当前顺序。
- 只改一处:把被盖对象「置于顶层」,打一张,记录结果。
- 恢复原状,改把覆盖对象「置于底层」,再打一张,比较两次差异。两种改法结果不一致时,说明中间还有第三个对象参与遮挡。
- 若软件里已经正确、实物仍不对,把打印方式统一改为光栅图形,复测一张。
- 若只有指令直通异常,抓取发送到打印机的数据流,核对字段顺序:ZPL 看 ^GB 是否在 ^FR 字段之前、^LR 是否已用 ^LRN 复位;TSPL 看 ERASE、REVERSE 是否写在了被擦除内容之后。
- 核对静区与可打印区,排除边缘裁切与静区被占。
- 定稿:编组、命名、锁定,导出验收样张归档。
十一、定稿后的固化:编组、命名与锁定
层序问题修好一次不难,难的是不复发。三个习惯最有效:
- 先调顺序再编组。编组会把组内相对顺序固定下来,先编组再调层序,往往只能整组上下移动,组内该翻的翻不过来。正确顺序是:调层序 → 确认样张 → 编组。
- 给背景对象统一命名。把底色块、边框统一命名为 BG- 开头,内容对象用业务名。发生遮挡时,从对象列表里一眼能看出谁是不该在上面的那一层。
- 分区分层管理。把背景、固定信息、可变数据分到不同的层,层锁定后不会被误改;锁定的层内对象也可以单独锁定位置。注意锁定只防移动,不防层序变化,防误拖动与防层序错乱要分开做。
十二、验收:三张样张与扫码复核
层序类问题有一个特点:短数据正常、长数据出错,或者这台机器正常、那台出错,所以排查与验收都不能只打一张。
- 数据边界样张。用最短数据与最长数据各打一张,确认可变对象变长后没有压进背景块。
- 反白样张。把黑底白字区域单独打一张,检查白字边缘是否溢出黑块、是否侵入条码静区、反白区高度是否超过介质与机器的承受范围。
- 跨方式样张。同一模板分别用光栅图形与原生指令各打一张,比较内容完整性;再换一台不同品牌或不同分辨率的机器打一张,确认没有因分辨率导致的边缘缺角。
最后用同一支扫描枪连续扫 10 次,记录失败次数;有条件时按 ISO/IEC 15416 做等级验证。等级下降但肉眼正常,优先怀疑静区被占或模块被轻微覆盖,而不是打印机故障。把这三张样张与扫码记录随模板一起归档,下次换人接手时,至少有可对照的基准。
常见问题
1. 设计器里条码明明在,打出来整块空白,是打印机坏了吗?
先不要怀疑打印机。整块空白且边界是规则矩形,九成是上面压了一个白色实心块。把可疑矩形临时改成品红并加边框,如果缺口位置与它完全重合,就是层序或填充问题。真正的打印头故障表现为固定位置的纵向白线,换内容后位置不变,与对象边界无关。
2. 白色矩形在屏幕上看起来是空的,为什么它会盖住条码?
因为屏幕上的白与标签底色的白是同一个颜色,看不出边界,但打印时白色实填意味着那一片不打点,覆盖效果是真实的。判断办法是把标签底色临时改成鲜艳颜色:区域仍显示白色,说明是实填白;跟着变色,说明是无填充透明。
3. 我已经把条码「置于顶层」了,为什么还是被盖住?
三种可能。第一种,改动落在组内而不是组外:条码在 A 组、遮挡块在 B 组,把条码置于顶层只是组内到顶,组与组之间仍按组的顺序比较,要把整组上移或把遮挡块所在组下移。第二种,软件有「层」这一级容器,对象在低层,层内到顶也压不过高层。第三种,条码所在位置上方还有一个透明但带白色填充的图形对象,需要逐层点选确认。
4. 黑底白字的标签,白字打不出来,是不是打印机没有白墨?
确实没有白墨。热敏与热转印只有打点与不打点两种状态,白色等于露出标签底色。所以白字必须靠挖空实现:先画黑底,再让文字与黑底做反相。软件里对应的是对象的反白/反色效果或指令层的反相命令,不是把文字颜色设成白色就完事。
5. 同一个模板,导出 PDF 正常,直接打打印机就少内容,为什么?
PDF 走的是软件整页渲染,按像素合成,层序结果与屏幕一致;直接打打印机可能走原生指令,每个对象单独翻译,覆盖关系由打印机按指令顺序执行,白色是否擦除取决于指令语义。把对象打印方式统一改为光栅图形再打一张,如果恢复正常,就能确认是合成方式差异,不必改模板。
6. ZPL 里加了 ^FR 还是黑底黑字,哪里错了?
按顺序查三点。第一,黑底块必须先画,^FR 只与「已经存在的内容」做反相,底块画在文字之后就等于没有底。第二,^FR 只作用于紧跟它的那一个字段,由 ^FS 清除,多个字段要分别加。第三,如果用的是 ^LR 整片反相,要确认后面有 ^LRN 复位,否则反相会延续到后续字段,表现成整片错乱。
7. TSPL 机器上先画黑块再写文字,结果文字不见了?
TSPL 按命令文档顺序写入图像缓冲,没有独立的「层」概念。文字写在黑块之前就会被黑块覆盖;写在其后仍看不见,通常是文字颜色与黑块同为黑,或该区域被后续的 BAR、ERASE 再次覆盖。正确做法是用 REVERSE 对文字区域做黑白互换,并确认 REVERSE 的矩形范围覆盖文字但不要过大。
8. 编组之后调层序没反应,是什么原因?
编组把组内相对顺序固定了。此时「置于顶层」只改变整组与其他对象的相对位置,组内成员之间的先后不变。要先取消编组、调好组内顺序、确认样张,再重新编组。这也是建议「先调顺序再编组」的原因。
9. 条码完整但扫不出,和图层有关系吗?
有可能,但通常不是「盖住条码本体」,而是「占了静区」。条码两侧与下方需要留出空白区,被边框、装饰线或背景块压住时,条空本身完好,扫码等级却明显下降。按 ISO/IEC 15416 验证时,静区不足会直接扣分。处置是把静区范围内的对象移开或下移,而不是继续调条码的前后顺序。
10. 多人编辑同一模板,怎么防止层序被改乱?
三层防护:一是把背景、固定信息、可变数据分到不同的层,编辑者只在自己负责的层内工作;二是定稿后锁定位置并保留一份只读基准版;三是给背景类对象统一加 BG- 前缀命名,改动后在对象列表里能快速看出顺序异常。锁定只防移动,层序仍需在发布前用样张复核一次。
更多标签打印机的设置、维护与故障处置方法,可在 支持中心 按分类查阅;需要核对具体机型的规格与耗材适配,请以产品页标注为准。


