| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- 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();
- /**
- * 校准打印机(自动检测标签间隙)
- */
- int calibrate();
- /**
- * 打印标签
- * @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);
- /**
- * 发送原始命令到打印机
- * @param command TSPL 命令字符串
- */
- int sendcommand(String command);
- }
|