「我只要一张,它给我出了三张」「设置里写的五张,结果只出来一张」「多打的那两张序列号一模一样,扫码扫出来是同一个号」——这三类反馈在标签打印的日常使用里出现频率很高,而且绝大多数跟硬件无关。真正的原因通常只有一个:「份数」这个参数不止一个存放位置。
本文用三台真实机型做参照:工业机 Honeywell PX4i 203DPI(带屏显,机器面板本身就能设份数)、桌面机 TOSHIBA B-EV4D-GS14-203DPI、以及承印材料 Brady B-423 聚酯 PET 标签(40×15 规格)。这三台一类一类地代表了「机器面板能改份数」「走 Windows 驱动的桌面机」「小规格标签批量出标」三种典型环境。文中涉及的具体规格、参数与软件功能名称以产品页与随机手册为准。
本文只讨论份数参数本身设错造成的重复出标与少打。由 ERP / MES 接口重发、队列积压、唯一键去重失效造成的重复打印,排查路径在ERP/MES触发批量打印不打印与重复打印排查;Excel 数量字段完全没被调用导致只出一张,见TSC TTP-244PLUS关联Excel表格打印数量异常的解决方法;换纸换碳带后机器自动补打前两张造成的流水码重复,见Zebra 105sl条码打印机换耗材后重复打印问题解析与设置方法;序列号对象本身不递增、每一张都是同一个号,属于序列号对象属性与重置条件问题,见Codesoft 序列号不递增与数据库字段错乱排查。

Honeywell PX4i 203DPI:带屏显的工业机,面板菜单里本身就有份数参数,是三处口径里最容易被漏掉的一处
一、先分清四种「重复出标」,别一上来就改模板
客户说「重复出标」时,实际可能对应四种互不相同的故障。先分流再动手,能省掉大半返工。
- 同号复制:出来两三张,内容一模一样,序列号也一样。这一类是「复制份数」被设成了大于 1,或者用了「同一标签复制 N 份」而不是「序列化打印 N 张」。
- 异号多打:出来两三张,序列号是递增的(如 0001、0002、0003)。这一类不是故障,是张数本身被设成了 3,或者上游下发了 3 条记录。
- 整机重复一轮:打完 5 张之后,机器又把同样的 5 张再打一遍。这一类通常出在驱动份数与软件份数相乘,或者作业被重复下发。
- 补打重复:只在中途换纸、换碳带之后出现,重复的是换料前那几张。这一类是机器的补打机制在起作用,不属于份数设置问题,请转介上文 33 号文章。
分流方法很简单:把多出来的标签摊开,只看序列号。序列号完全相同 → 复制语义问题;序列号连续递增 → 张数或记录数问题;整批重来一遍 → 相乘或重发。这三条判据在动手改任何设置之前先走一遍,能立刻把排查范围收窄到一处。
二、份数不是一个数,是三处口径的相乘
这是全文最核心的一条:一次打印任务实际出多少张,不是由某一个输入框决定的,而是三处参数相乘的结果。只要其中任何一处被无意中改成了非 1 的值,总数就会成倍放大,而你在软件界面上看到的数字仍然是 1。
- 第一处:打印软件的打印对话框。标签设计软件(BarTender、Codesoft、Brady Workstation 等)点打印时弹出的对话框里都有份数区域,多数软件在这里还区分「同一标签复制份数」与「序列化标签张数」两个不同的输入框。
- 第二处:Windows 驱动与系统打印对话框。驱动本身也有一份「份数 / 复制份数」设置,且分「打印机默认值」与「当前文档属性」两级,前者对这台机器的所有作业长期生效。
- 第三处:上游下发的数量字段。业务系统、MES、Excel 或数据库里带的「数量」列,如果软件被配置成从该字段取打印数量,那么这一列的值直接决定张数。
三者的关系是乘法而不是覆盖。软件里设 1 张、驱动里残留了 3 份,出标就是 3 张;软件设 2 张、数据库数量列是 5,出标就是 10 张。凡是「多出来的张数刚好是某个整数倍」的现象,优先按相乘去查——比如每次稳定出 3 张,就去驱动里找那个被设成 3 的参数。
第四处还要单独提一句:打印机自身也有份数参数。带屏显的工业机(如本文图示的 PX4i)可以在面板菜单里设份数,走原生指令打印时则由指令里的数量参数决定。这一处最容易被漏掉,因为改完之后人走了,机器还记着。
三、第一处:打印软件里的份数——「复制」与「序列化张数」是两回事
这是产生「序列号一样」这类投诉最多的一处。多数标签软件在打印对话框里把份数拆成两类语义,名称因软件与版本而异,但逻辑是通的:
- 同一标签复制 N 份(identical copies):把当前这一张原样重复 N 次。所有内容完全一致,序列号不会递增。需要给同一件物品贴两张一模一样的标签时用这个。
- 序列化打印 N 张(serialized labels / 序列标签数):连续打印 N 张,每张按模板里的序列化规则递增。内容逐张不同。需要 N 个不同编号时用这个。
两类语义的典型坑在这儿:模板里明明做了序列号,但操作人员在打印对话框里填的是「复制份数」而不是「序列化张数」,结果出来的 3 张全是 0001。这不是软件算错,是这两类份数本来就不走同一条递增逻辑——复制路径下递增根本不会触发。
核对步骤如下:
- 打开模板,确认要做递增的那个对象是真的「序列号 / 序列化」类型,而不是普通文本。普通文本对象不会递增,这是同号问题最常见的根因,具体排查见 825 号文章。
- 点打印,在对话框里找到份数区域,确认你填的那一栏对应的是哪一类语义。多数软件在鼠标悬停时会给出说明,或者该栏只在模板启用了序列化之后才可编辑。
- 如果模板没有启用序列化,而份数区域里出现了大于 1 的「序列标签数」,多数软件会直接报错或强制回退为 1;遇到报错不要绕过,先回去确认模板里到底有没有序列号对象。
- 先用 2 到 3 张做测试打印,肉眼核对编号是否连续、是否有重复,确认无误再恢复正式批量。
「序列标签数」这个名词在不同软件与机型资料里的叫法不完全一致,同一台 TSC 桌面机配 BarTender 时的解释可参照TSC TTP-244Plus条码打印机「序列标签数」含义解析,具体以你手上软件版本的界面为准。

TOSHIBA B-EV4D-GS14-203DPI:走 Windows 驱动的桌面机,驱动默认值里的份数是最隐蔽的一处残留
四、第二处:驱动与系统打印对话框里的份数
这一处的特点是「改过一次,长期生效」。驱动里有两级份数设置,很多人只记得看其中一级:
- 打印机默认值(Printing Defaults / 打印首选项):对这台打印机上的所有作业长期生效,包括别人从别的软件发过来的作业。在这里把份数设成 3,之后不管谁打一张,都会出 3 张。
- 文档属性(Document Properties / 本文档设置):只对当前这次打开的打印作业生效,关掉就失效。
排查与纠正步骤:
- 打开系统的「设备和打印机」,右键目标打印机 →「打印首选项」,在布局或纸张/质量页里找到份数一栏,先确认这里是 1。
- 再打开「打印机属性」→「高级」→「打印默认值」,这里还有一份独立的默认设置,同样核对一遍。两级都改,不要只改一处。
- 如果这台机器被多个软件共用,检查驱动里有没有启用「后台处理完毕后开始打印」之外的排队选项,队列里残留的旧作业也会表现为多打。
- 改完必须做一次验证打印:从最常用那个软件发一张,确认只出一张。不要改完就走。
还有一个高频诱因:重装或升级驱动之后,默认值会回到出厂状态。原本精心设过的份数、纸张、浓度一并被重置,表现为「升级之后突然开始多打」。凡遇到「什么都没改,突然就变」的反馈,先把重装驱动、换电脑、换端口这三件事问一遍。
五、第三处:业务系统、数据库或表格下发的数量字段
当模板被配置成「打印数量取自某个字段」时,张数的决定权就不在打印界面上了。这类配置的排查重点是搞清楚这个值从哪来、经过了几次转换。
- 确认是否启用了字段控制数量。在打印对话框里,数量一栏旁边通常有一个按钮或下拉,用于把数量绑定到数据库字段。若已绑定,手工填的数会被字段值覆盖。
- 追溯字段来源。该字段可能直接来自 Excel 某列,也可能是系统按包装数量、箱数换算出来的。换算规则里乘了一个系数,是最典型的「为什么会多打」。
- 检查字段的数据类型。数量列若是文本型,某些情况下会被当作 1 处理;若含空格、全角字符或单位后缀(如「3 张」),取值结果不可预期,表现为「时多时少」。
- 用最小数据集验证。拿 2 到 3 条记录,把数量列分别设为 1、2、3,看实际出标数是否一一对应。不对应就说明绑定或换算有问题,而不是打印机的问题。
字段完全没被调用、无论填几都只出一张的情况,属于「记录选择」只勾了单条记录,排查步骤见 636 号文章。
六、第四处常被漏掉:打印机固件与指令里的份数参数
走原生指令(ZPL、TSPL 等)打印时,份数写在指令里,与前面三处完全独立,而且会再次参与相乘。这一处对自建打印服务、中间件直连机器的场景尤其关键。
ZPL 的打印数量指令写作 ^PQ,格式为 ^PQq,p,r,o,其中:
- q:本次打印的总张数,范围 1 到 99,999,999,缺省 1。
- p:每打多少张暂停一次(配合回卷或裁切),0 表示不暂停。
- r:每个序列号打印几张(replicates),缺省 0。注意它是把 q 均分,而不是在 q 之外再加:^PQ4,0,2 的结果是前两个号各打 2 张,总张数仍是 4。
- o:是否忽略 p 造成的暂停,Y 为不暂停。
TSPL 的打印指令写作 PRINT m,n,其中 m 是要打印的标签组数(不同内容 / 序列号递增的张数),n 是每一组复制几份。PRINT 3,2 的结果是 0001、0001、0002、0002、0003、0003,共 6 张。这里有个需要特别留意的写法:PRINT -1,n 表示把上一张标签内容再打印 n 份,本意是补打,若被误写进正式模板,就会稳定地产出重复标签。
排查要点:把发到机器的指令原文抓一段出来(打印到文件、或从服务日志里取),直接看里面的数量参数是几。界面上看到的数字在这一层完全不作数。
七、四步核对法:把三处份数一次对齐
现场排查时按以下顺序走一遍,每一步都只做一件事,做完立刻验证。
- 第一步 · 定基准。把软件打印对话框、驱动默认值、字段绑定三处全部临时改成 1,打印机面板里的份数(若有)也改回 1。发一张测试,确认只出一张。这一步确认机器与驱动本身没有残留。
- 第二步 · 只加软件。只在软件里把张数设成 3,其余保持 1。出标应为 3 张且序列号递增。若出 6 张或 9 张,说明还有一处是 2 或 3,回到第一步重查。
- 第三步 · 只加字段。把软件张数恢复为字段绑定,用最小数据集验证数量列 1、2、3 是否与出标数一一对应。
- 第四步 · 查指令层。若走原生指令,抓一段指令原文核对数量参数;若走驱动,用打印到文件的方式导出,检查有没有重复的格式块。
四步走完,出标数必然等于你期望的那个数。任何一步的结果与预期不符,就停在那一步继续查,不要往下走——后面几步的结果会叠加前面的误差,越走越难定位。
八、设了五张只出一张:少打才是更常见的投诉
少打与多打是同一枚硬币的两面,但成因不同,需要单独列一遍:
- 复制语义与序列化语义填反。模板启用了序列化,但填的是「复制份数」,某些软件会因为模板里存在序列化对象而忽略这个值,只出一张。回到第三节核对语义。
- 记录选择只勾了单条。数据源里其实有多条记录,但打印时记录范围被限定在单条。这是 Excel / CSV 数据源只出一张的首要原因。
- 数量字段取值失败。字段值为空、为 0、或类型不对时,多数软件回退成 1。用最小数据集能立刻看出来。
- 中途停机被当成打完。机器报错暂停、碳带用尽、标签走完,作业实际没有执行完,但软件已经显示「已发送」。核对方法:看机器面板的已打印计数,而不是看电脑端的作业状态。
- 队列里的作业被后来的覆盖。短时间内连续下发,先发的作业被取消或替换。批量打印场景下建议加发送间隔,并在服务端留回执。
判定口诀:多打查相乘,少打查取值与中途停机。前者一定能找到一个大于 1 的整数参数,后者一定是某个环节返回了空或 0。
九、复制出来的标签序列号全一样:判定与纠正
这是后果最严重的一类,因为同号标签一旦贴到产线上,追溯数据就断了。判定与纠正按以下顺序做:
- 先确认是不是复制语义造成的。把多出来的标签排开,序列号完全一致,且张数恰好等于你填的份数 → 就是复制路径。把该值改填到「序列化张数」一栏即可。
- 排除序列号对象本身的问题。若改成序列化张数之后仍然同号,那问题不在份数,而在序列号对象的递增步长或重置条件。步长被设为 0、重置条件选成「按份重置」,都会让整批打同一个号,排查见 825 号文章。
- 检查指令层的 r 参数。走 ZPL 时,^PQ 的第三个参数就是「每个号打几张」。原本想打 5 个不同号,写成 ^PQ5,0,5 就会变成同一个号打 5 张。要 5 个不同号,应写成 ^PQ5,0,0 或 ^PQ5,0,1。
- 核对已发出的同号标签。纠正之后,回溯当天已打印的批次,把同号标签挑出来重打。这一步不能省,贴上去的同号标签不会自己消失。
- 固化正确用法。把正确的份数语义写进作业指导书,并在模板里把不需要递增的对象锁住,避免下次填错。

Brady B-423 聚酯 PET 标签(40×15):小规格标签批量出标时,多打与同号最容易在事后才发现
十、把排查结果固化下来,避免下次复发
份数类问题高度依赖「人当时填了什么」,只靠口头交待守不住。建议做四件事:
- 驱动默认值统一设为 1。把份数、缩放、纸张三处的默认值写进装机清单,装完机逐项核对并签字。重装驱动后必须重做一遍。
- 把份数语义写进作业指导书。明确写清:同一件物品贴多张用「复制份数」,多个编号用「序列化张数」。这两句话要配截图。
- 在模板里把数量来源固定。能由模板决定的就在模板里写死,不留给操作者临时输入;必须由上游决定的,在界面上把该字段标注出来。
- 留一份首件确认。换班、换单、换模板之后的第一张必须核对编号连续性再放行。这一条能拦住绝大多数批量事故。
涉及条码可读性时,可参照 ISO/IEC 15416 的条码质量分级做印后抽检;标签粘性相关可参照 GB/T 2792-2014 的剥离强度测试方法。本文不涉及这两项的具体判定流程,只提示在多打、重打之后,抽检样本要覆盖实际多出来的那些标签。
十一、与相邻问题的界线
为避免排查走错方向,这里把本文与相邻几篇文章的管辖范围一次说清:
- 本文管:份数参数放在哪几处、三处口径怎么对齐、复制与序列化两种语义的差别、指令层数量参数怎么读、少打多打怎么分流。
- 826 号管:ERP / MES 接口触发的重复打印,包括重发机制、唯一键去重、队列积压与状态回执。那一类是系统层重发,不是份数设错。
- 636 号管:Excel 数量字段完全没被调用、记录选择只勾单条导致只出一张。
- 33 号管:换纸换碳带后机器自动补打前几张造成的流水码重复,属于机器的补偿机制。
- 825 号管:序列号对象本身不递增,包括对象类型、递增步长与重置条件。
判断方法:先摊开多出来的标签看序列号。序列号完全一致 → 从本文第三节与第九节入手;序列号递增但张数不对 → 从本文第五、七节入手;只有换料之后才重复 → 转介 33 号;只有系统触发才重复 → 转介 826 号。
常见问题
1. 我只要一张,机器每次都出三张,第一个该查哪里?
先查驱动的打印首选项。打开系统「设备和打印机」,右键打印机 →「打印首选项」,看份数一栏是不是 3;再进「打印机属性 → 高级 → 打印默认值」核对一次。两处都改回 1 之后做一次验证打印。这两处是对所有作业长期生效的,也是「每次都稳定多出固定张数」最常见的原因。
2. 多打的几张内容一模一样,序列号也是同一个,怎么改成递增?
你填的是「复制份数」,改填到「序列化张数」(不同软件叫法不同)那一栏即可。复制路径下递增不会触发,这是设计如此,不是软件算错。改完先用 2 到 3 张测试,确认编号连续再批量。若改完仍然同号,问题就转到序列号对象本身,按 825 号文章排查递增步长与重置条件。
3. 设置了五张,实际只出来一张,是什么情况?
按三条查:一是模板启用了序列化但填的是复制份数,部分软件会忽略该值只出一张;二是数据源的「记录选择」只勾了单条记录,这是 Excel 数据源只出一张的首要原因;三是数量字段取值为空或类型不对,软件回退成 1。用 2 到 3 条记录的最小数据集验证一遍就能区分。完全没调用数量字段的情况见 636 号文章。
4. 软件里填的份数和实际出标数正好是倍数关系,说明什么?
说明还有一处参数不是 1,而且两处是相乘关系。软件设 2 张、实际出 6 张,就去驱动里找那个 3;软件设 1 张、实际出 3 张,份数残留就在驱动或机器面板里。凡是稳定的整数倍,都按相乘去查,逐处改回 1 再逐处加回来定位。
5. 带屏显的工业机,机器面板上的份数要不要管?
要管,而且它是最容易被漏掉的一处。面板菜单里的份数参数改完之后会一直保留,换人操作也不会自动清零。排查时把它改回 1 再测;如果这台机器同时走原生指令,指令里的数量参数还会再乘一次,两边都要核对。
6. 走指令打印时怎么看份数有没有设错?
把发到机器的指令原文抓出来直接读。ZPL 看 ^PQ 的第一个参数(总张数)和第三个参数(每个号打几张),注意第三个参数是把总数均分而不是额外增加;TSPL 看 PRINT 后面的两个数,前者是组数、后者是每组复制份数。特别留意 PRINT -1,n 这种写法,它表示把上一张再打 n 份,误用会稳定产出重复标签。
7. 重装驱动之后突然开始多打,是驱动的问题吗?
很可能是。重装或升级驱动会把打印默认值恢复到出厂状态,原本设过的份数、纸张、缩放一并被重置。处理办法是装机清单里把这三处默认值逐项写清,装完机立刻核对,不要等出问题再查。遇到「什么都没改突然就变」的反馈,先把重装驱动、换电脑、换端口这三件事问一遍。
8. 同号标签已经贴到产品上了,纠正之后还要做什么?
必须回溯当天已打印的批次,把同号标签挑出来重打并更换。同号标签贴上去之后不会自己消失,追溯数据在扫码那一刻就已经断了。纠正设置只是止损,回溯才是收尾。建议同时把当天该批次的出标记录与实物核对一遍,确认同号影响范围到底有多大。
9. 为什么换了台机器之后份数又不对了?
三处口径里的第二处(驱动默认值)是按打印机分别保存的,换机器等于换了一份全新的默认值。新装的驱动出厂默认通常就是 1,若原来那台机器上有过自定义设置,换机后表现会不同。装机清单里那一套默认值必须逐台套用,不能只在第一台上做。
10. 有没有办法从根上避免这类问题?
有四条:驱动默认值统一设为 1 并写进装机清单;把「复制份数」与「序列化张数」的区别配截图写进作业指导书;能在模板里写死的数量就在模板里写死,不留给现场临时输入;换班、换单、换模板之后的第一张必须核对编号连续性再放行。最后一条能拦住绝大多数批量事故。
以上十一个部分覆盖了份数设置的四个存放位置、复制与序列化两种语义、指令层参数读法,以及少打与多打的分流判据。若在排查中发现序列号对象本身不递增,请转 825 号文章;若只在系统触发时重复,请转 826 号文章。
需要查看具体机型的规格与耗材匹配,可前往 博尔杰PTS MROer 的品牌专区与全部分类页;文中提到的产品具体规格、软件功能名称与参数范围,均以产品页与随机手册为准。


