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

Android蓝牙热敏打印机标签打印:标签尺寸设置问题求助

问题解决:蓝牙热敏打印机标签打印不完整(TSPL协议)

协议确认

这款VEVOR蓝牙热敏打印机确实采用TSPL协议,你的推测正确。

核心问题分析及修正

你的代码存在几个关键问题,导致标签只输出一半:

1. 重复发送打印命令

代码中连续发送两次PRINT 1,1,且第二次前加入HOME命令,会干扰打印机走纸逻辑,导致走纸长度异常。

2. 标签间隙(GAP)设置错误

你的4"x2"标签属于连续间隙标签,代码中设置GAP 0 mm,0 mm会让打印机无法识别标签间的间隙,无法正确计算单张标签的走纸长度。

3. 尺寸精度与单位问题

300DPI的打印机对尺寸精度要求较高,建议用点数代替毫米设置标签尺寸(1英寸=300点=25.4mm),4"x2"换算为点数是1200,600,比近似的毫米值更精准。

修正后的代码

private class PrintTask extends AsyncTask<BluetoothDevice, Void, Void> {

    @Override
    protected Void doInBackground(BluetoothDevice... devices) {
        BluetoothDevice printerDevice = devices[0];
        try {
            // 建立蓝牙SPP连接
            UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
            bluetoothSocket = printerDevice.createRfcommSocketToServiceRecord(uuid);
            bluetoothSocket.connect();

            outputStream = bluetoothSocket.getOutputStream();

            // 修正后的TSPL命令
            String printData = "SIZE 1200,600\n" // 用点数设置4"x2"标签(300DPI)
                            + "GAP 2 mm,0 mm\n"   // 设置实际标签间隙(可根据标签调整)
                            + "CLS\n"
                            + "TEXT 100,100,\"0\",0,2,2,\"Hello World\"\n" // 坐标改用点数更精准
                            + "PRINT 1,1\n";

            outputStream.write(printData.getBytes("GBK")); // 打印中文时需指定支持的编码
            outputStream.flush(); // 强制刷新输出流,确保命令全部发送

            // 延迟关闭,给打印机足够处理时间
            Thread.sleep(1000);

            outputStream.close();
            bluetoothSocket.close();
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        Toast.makeText(MainActivity.this, "打印完成", Toast.LENGTH_SHORT).show();
    }
}

额外调试建议

  1. 自动校准间隙:如果不清楚标签实际间隙,长按打印机FEED键几秒触发自动校准,之后可省略GAP命令,让打印机使用自动识别的参数。
  2. 初始化打印机:若问题仍存在,可在命令开头添加INIT\n重置打印机状态。
  3. 剥离模式适配:如果打印机是剥离出纸模式,添加SETPEEL ON\n命令,确保打印后标签自动剥离并走纸到正确位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:07:50