|
|
@@ -0,0 +1,104 @@
|
|
|
+package com.mes.print.tsc;
|
|
|
+
|
|
|
+import com.sun.jna.Library;
|
|
|
+import com.sun.jna.Native;
|
|
|
+
|
|
|
+/**
|
|
|
+ * TSC 打印机 DLL 接口
|
|
|
+ * 基于 TSCLIB.dll 的 JNA 封装
|
|
|
+ */
|
|
|
+public interface TSCLIB extends Library {
|
|
|
+
|
|
|
+ // 加载 DLL
|
|
|
+ TSCLIB INSTANCE = (TSCLIB) Native.load("TSCLIB", TSCLIB.class);
|
|
|
+
|
|
|
+ // ========== 基本控制函数 ==========
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 打开打印机端口
|
|
|
+ * @param pirnterName 打印机名称(如 "TSC TTP-244 PRO")
|
|
|
+ * @return 成功返回 1,失败返回 0
|
|
|
+ */
|
|
|
+ int openport(String pirnterName);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 关闭打印机端口
|
|
|
+ */
|
|
|
+ int closeport();
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 设置打印机参数
|
|
|
+ * @param width 标签宽度(单位:mm)
|
|
|
+ * @param height 标签高度(单位:mm)
|
|
|
+ * @param speed 打印速度(1-15)
|
|
|
+ * @param density 打印浓度(0-15)
|
|
|
+ * @param sensor 传感器类型(0=垂直间距传感器, 1=间隙传感器)
|
|
|
+ * @param vertical 垂直间距高度(单位:mm,仅 sensor=0 时有效)
|
|
|
+ * @param offset 标签偏移量(单位:mm)
|
|
|
+ */
|
|
|
+ int setup(String width, String height, String speed, String density,
|
|
|
+ String sensor, String vertical, String offset);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 清除打印缓冲区
|
|
|
+ */
|
|
|
+ int clearbuffer();
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 打印标签
|
|
|
+ * @param sets 打印份数
|
|
|
+ * @param copys 每份打印的标签数
|
|
|
+ */
|
|
|
+ int printlabel(String sets, String copys);
|
|
|
+
|
|
|
+ // ========== 文本函数 ==========
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 打印文本
|
|
|
+ * @param x X坐标(单位:dot)
|
|
|
+ * @param y Y坐标(单位:dot)
|
|
|
+ * @param font 字体名称(如 "TSS24.BF2", "1", "2"...)
|
|
|
+ * @param rotation 旋转角度(0, 90, 180, 270)
|
|
|
+ * @param x_multiplication X方向放大倍数(1-10)
|
|
|
+ * @param y_multiplication Y方向放大倍数(1-10)
|
|
|
+ * @param text 文本内容
|
|
|
+ */
|
|
|
+ int windowsfont(int x, int y, int fontheight, int rotation,
|
|
|
+ int fontstyle, int fontunderline, String szFaceName, String content);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 打印条形码(简化版)
|
|
|
+ */
|
|
|
+ int barcode(String x, String y, String type, String height,
|
|
|
+ String readable, String rotation, String narrow, String wide, String code);
|
|
|
+
|
|
|
+ // ========== 条码/二维码函数 ==========
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 打印一维条码
|
|
|
+ * @param x X坐标
|
|
|
+ * @param y Y坐标
|
|
|
+ * @param type 条码类型("128", "EAN13", "CODE39"等)
|
|
|
+ * @param height 条码高度(单位:dot)
|
|
|
+ * @param readable 是否显示可读文字(0=不显示, 1=显示)
|
|
|
+ * @param rotation 旋转角度(0, 90, 180, 270)
|
|
|
+ * @param narrow 窄条宽度(单位:dot)
|
|
|
+ * @param wide 宽条宽度(单位:dot)
|
|
|
+ * @param code 条码内容
|
|
|
+ */
|
|
|
+ int barcode128(String x, String y, String height, String readable,
|
|
|
+ String rotation, String narrow, String code);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 打印 QR Code 二维码
|
|
|
+ * @param x X坐标
|
|
|
+ * @param y Y坐标
|
|
|
+ * @param eccLevel 纠错等级("L", "M", "Q", "H")
|
|
|
+ * @param cellWidth 单元宽度(1-10)
|
|
|
+ * @param mode 模式("A"=自动, "M"=手动)
|
|
|
+ * @param rotation 旋转角度(0, 90, 180, 270)
|
|
|
+ * @param code 二维码内容
|
|
|
+ */
|
|
|
+ int qrcode(String x, String y, String eccLevel, String cellWidth,
|
|
|
+ String mode, String rotation, String code);
|
|
|
+}
|