You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用another_brother库打印62×29mm标签遇问题求助

解决another_brother库62mm×29mm标签打印参数问题

问题根源

  1. 索引混淆:你把labelNameIndex当成了标签的id值,但它实际是QL700._values数组的索引(从0开始计数):
    • _values[7]对应W52H29(id=8,规格52×29mm),这不是你需要的尺寸
    • _values[8]才是W62H29(id=9,规格62×29mm),这是目标标签规格
      之前设置labelNameIndex=8时,同时将paperSize设为CUSTOM,导致打印机收到「预设标签索引+自定义尺寸」的冲突配置,触发ERROR_WRONG_LABEL错误。
  2. labelNameIndex=17的问题:该索引对应_values[17]的W62RB,属于连续卷筒标签,长度会随内容自动延伸,无法固定为29mm。

两种解决方案

方案1:使用预设标签规格(推荐)

直接调用库中预设的62×29mm标签配置,无需自定义尺寸:

void printResult(
 BuildContext context, {
 required PrintModel model,
}) async {
 if (selectedPrinter.value == null) {
   ToastUtils.show(StringStyles.printerNotReady.tr);
 }
 EasyLoading.show(status: StringStyles.printing.tr);
 var printer = Printer();
 var printInfo = PrinterInfo();
 printInfo.printerModel = Model.QL_810W;
 printInfo.printMode = PrintMode.NORMAL; // 替换FIT_TO_PAGE,避免不必要缩放
 printInfo.isAutoCut = false;
 printInfo.port = Port.NET;
 printInfo.paperSize = PaperSize.PRESET; // 关键:切换为预设标签模式
 printInfo.printQuality = PrintQuality.HIGH_RESOLUTION;
 printInfo.labelNameIndex = 8; // 对应_values[8]的W62H29(62×29mm)

 // 后续打印机查找、文本打印代码保持不变
}

方案2:使用自定义尺寸配置

若必须使用自定义尺寸,需确保参数配置统一,避免打印机混淆:

void printResult(
 BuildContext context, {
 required PrintModel model,
}) async {
 if (selectedPrinter.value == null) {
   ToastUtils.show(StringStyles.printerNotReady.tr);
 }
 EasyLoading.show(status: StringStyles.printing.tr);
 var printer = Printer();
 var printInfo = PrinterInfo();
 printInfo.printerModel = Model.QL_810W;
 printInfo.printMode = PrintMode.NORMAL;
 printInfo.isAutoCut = false;
 printInfo.port = Port.NET;
 printInfo.paperSize = PaperSize.CUSTOM; // 开启自定义尺寸模式
 printInfo.customPaperWidth = 62; // 设置宽度62mm
 printInfo.customPaperLength = 29; // 设置长度29mm
 printInfo.printQuality = PrintQuality.HIGH_RESOLUTION;
 printInfo.labelNameIndex = QL700.W62H29.getId(); // 绑定对应标签ID

 // 后续代码保持不变
}

额外检查项

  • 确认打印机内安装的物理标签确实为62mm×29mm规格,软件配置与硬件必须一致,否则仍会报错。
  • 打印文本的宽度约束建议改为标签实际像素宽度(QL-810W为300DPI,62mm≈734像素),避免内容变形:
final ui.Paragraph paragraph = paragraphBuilder.build()
  ..layout(ui.ParagraphConstraints(width: 734));

内容的提问来源于stack exchange,提问作者KUO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 17:05:55