uniapp连接斑马打印机ZD421 蓝牙打印:从踩坑到出纸

用 uni-app 给斑马(Zebra)ZD421 打一张 100mm × 150mm 的面单,

环境:uni-app Vue2、App 真机(安卓小米13)、斑马 ZD421
本项目因为之前已经走通汉印打印机的蓝牙通信,时长会默认走CPCL。
但是斑马必须走ZPL,终于走通了
  • 每次切 onceLength 字节
  • 每包间隔 300ms
  • 失败最多重试 15 次(整包重发)
  • uni.writeBLECharacteristicValue
  • 内容必须转成二进制
  • 中文必须 GBK
  • 指令也要转二进制
  • BLE 一次接收有限,建议 20 字节递归分包,
  • ## 面单 ZPL 样例

    下面是斑马文档里那张经典面单,加上纸张尺寸后可以直接发:

    ```zpl
    ^XA
    ^PW800
    ^LL1200
    ^CF0,60
    ^FO50,50^GB100,100,100^FS
    ^FO75,75^FR^GB100,100,100^FS
    ^FO93,93^GB40,40,40^FS
    ^FO220,50^FDIntershipping, Inc.^FS
    ^CF0,30
    ^FO220,115^FD1000 Shipping Lane^FS
    ^FO220,155^FDShelbyville TN 38102^FS
    ^FO220,195^FDUnited States (USA)^FS
    ^FO50,250^GB700,3,3^FS
    ^CFA,30
    ^FO50,300^FDJohn Doe^FS
    ^FO50,340^FD100 Main Street^FS
    ^FO50,380^FDSpringfield TN 39021^FS
    ^FO50,420^FDUnited States (USA)^FS
    ^CFA,15
    ^FO600,300^GB150,150,3^FS
    ^FO638,340^FDPermit^FS
    ^FO638,390^FD123456^FS
    ^FO50,500^GB700,3,3^FS
    ^BY5,2,270
    ^FO100,550^BC^FD12345678^FS
    ^FO50,900^GB700,250,3^FS
    ^FO400,900^GB3,250,3^FS
    ^CF0,40
    ^FO100,960^FDCtr. X34B-1^FS
    ^FO100,1010^FDREF1 F00B47^FS
    ^FO100,1060^FDREF2 BL4H8^FS
    ^CF0,190
    ^FO470,955^FDCA^FS
    ^XZ
    ```

    业务里只要把 `^FD` 后面的文字、条码换成订单数据。坐标原点在标签左上,单位是点。
  • 多少无益,需要源代码的找我,平时不在线,打赏做个敲门砖
  • 5150d219a8d8db24a9149e530c71d1f4

     

  • b7e4dcb6a5a3644acdc8af85a5cb90a5

     

posted @ 2026-08-25 16:24  小铭同学a  阅读(74)  评论(1)    收藏  举报