|
|
@@ -27,8 +27,10 @@ public class TscPrinter {
|
|
|
}
|
|
|
|
|
|
// 2. 设置标签参数
|
|
|
- // 标签尺寸:100mm x 60mm,速度4,浓度10,间隙传感器
|
|
|
- tsc.setup("100", "60", "4", "10", "1", "0", "0");
|
|
|
+ // 纸张尺寸:76.2mm x 38.1mm
|
|
|
+ // 关键:标签高度 = 实际高度 + 间隙高度
|
|
|
+ // 38.1 + 3.0 = 41.1mm(告诉打印机一个完整周期的长度)
|
|
|
+ tsc.setup("76.2", "41.1", "4", "10", "0", "3", "0");
|
|
|
|
|
|
// 3. 清除缓冲区
|
|
|
tsc.clearbuffer();
|
|
|
@@ -50,7 +52,10 @@ public class TscPrinter {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 绘制标签内容(根据你的 T09 模板布局)
|
|
|
+ * 绘制标签内容(根据精确布局坐标 + 边距调整)
|
|
|
+ * 标签尺寸:73.7mm x 38.2mm
|
|
|
+ * 边距:上 0mm,左 1.6mm
|
|
|
+ * 打印机分辨率:203 DPI (1mm ≈ 8 dots)
|
|
|
*/
|
|
|
private void drawLabel(String sn, int printIndex) {
|
|
|
// 根据 SN 前缀判断产品型号
|
|
|
@@ -60,29 +65,39 @@ public class TscPrinter {
|
|
|
String date = new SimpleDateFormat("yyyy/MM/dd").format(new Date());
|
|
|
String serialNo = String.format("%07d", printIndex);
|
|
|
|
|
|
- // 坐标单位:dot(1mm ≈ 8 dot,根据打印机分辨率)
|
|
|
- // 以下坐标需要根据实际标签布局调整
|
|
|
+ // 左边距:1.6mm ≈ 13 dots
|
|
|
+ final int LEFT_MARGIN = 13;
|
|
|
+ // 上边距调整:整体上移 20 dots,确保内容在一张标签内
|
|
|
+ final int TOP_ADJUST = -20;
|
|
|
|
|
|
- // 公司名第1行:广西巨石
|
|
|
- tsc.windowsfont(50, 50, 32, 0, 0, 0, "SimSun", "广西巨石");
|
|
|
+ // 1. 二维码(左侧中间)
|
|
|
+ // 原始位置:(56, 115),加上左边距和上边距调整
|
|
|
+ tsc.qrcode(String.valueOf(56 + LEFT_MARGIN), String.valueOf(115 + TOP_ADJUST), "L", "4", "A", "0", sn);
|
|
|
|
|
|
- // 公司名第2行:新能源科技有限公司
|
|
|
- tsc.windowsfont(50, 90, 24, 0, 0, 0, "SimSun", "新能源科技有限公司");
|
|
|
+ // 2. 文本1 - 产品名称(右上角,2行)
|
|
|
+ // 原始位置:(267, 32),加上左边距和上边距调整
|
|
|
+ // 第1行:高压电池下壳体总成
|
|
|
+ tsc.windowsfont(267 + LEFT_MARGIN, 32 + TOP_ADJUST, 28, 0, 1, 0, "SimSun", "高压电池下壳体总成");
|
|
|
|
|
|
- // 产品名:高压电池下壳体总成
|
|
|
- tsc.windowsfont(400, 50, 28, 0, 0, 0, "SimSun", "高压电池下壳体总成");
|
|
|
+ // 第2行:产品型号(距离第1行约 10mm = 80 dots)
|
|
|
+ tsc.windowsfont(267 + LEFT_MARGIN, 112 + TOP_ADJUST, 24, 0, 0, 0, "Arial", productModel);
|
|
|
|
|
|
- // 产品型号
|
|
|
- tsc.windowsfont(400, 90, 24, 0, 0, 0, "Arial", productModel);
|
|
|
+ // 3. 文本2 - 公司名称(左上角,2行)
|
|
|
+ // 原始位置:(6, 32),加上左边距和上边距调整
|
|
|
+ // 第1行:广西巨石
|
|
|
+ tsc.windowsfont(6 + LEFT_MARGIN, 32 + TOP_ADJUST, 26, 0, 1, 0, "SimSun", "广西巨石");
|
|
|
|
|
|
- // 二维码(批次号)
|
|
|
- tsc.qrcode("50", "150", "M", "5", "A", "0", sn);
|
|
|
+ // 第2行:新能源科技有限公司(距离第1行约 10mm = 80 dots)
|
|
|
+ tsc.windowsfont(6 + LEFT_MARGIN, 112 + TOP_ADJUST, 22, 0, 0, 0, "SimSun", "新能源科技有限公司");
|
|
|
|
|
|
- // 日期和流水号
|
|
|
- tsc.windowsfont(400, 300, 24, 0, 0, 0, "Arial", date + " NO:" + serialNo);
|
|
|
+ // 4. 日期 + 流水号(右侧中间)
|
|
|
+ // 原始位置:(208, 160),加上左边距和上边距调整
|
|
|
+ String dateSerial = date + " NO:" + serialNo;
|
|
|
+ tsc.windowsfont(208 + LEFT_MARGIN, 160 + TOP_ADJUST, 24, 0, 0, 0, "Arial", dateSerial);
|
|
|
|
|
|
- // 批次号文本
|
|
|
- tsc.windowsfont(400, 350, 20, 0, 0, 0, "Arial", sn);
|
|
|
+ // 5. 批次号(右下角)
|
|
|
+ // 原始位置:(208, 248),加上左边距和上边距调整
|
|
|
+ tsc.windowsfont(208 + LEFT_MARGIN, 248 + TOP_ADJUST, 20, 0, 0, 0, "Arial", sn);
|
|
|
}
|
|
|
|
|
|
/**
|