TSC使用打印机java打印,一行3列。
效果图:
1.引用jar包
<dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>3.2.2</version> </dependency>
2.引用的dll,将dll将文件复制到项目根目录,即项目根目录。提取码:tscdhttp://xn--https-bl8js66z7n7i//pan.baidu.com/s/1qUlE10qKNH6HOBnyunYh3g
3.代码
/** * Copyright (C), 2021-2022, * FileName: TscPrintUtils * Author: * Date: 2022/6/17 15:19 * Description: * History: * <author> <time> <version> <desc> * 作者姓名 修改时间 版本号 描述 */ package com.fahon.framework.util; import com.sun.jna.Library; import com.sun.jna.Native; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import java.util.ArrayList; import java.util.List; /** * 〈一句话功能简述〉<br> * 〈〉 * * * @create 2022/6/17 * @since 1.0.0 */ public class TscPrintUtils { public static void main(String[] args) { List<String> a1 = new ArrayList<>(); a1.add("ZDC2205000111"); a1.add("ZDC2205000112"); a1.add("ZDC2205000113"); a1.add("ZDC2205000114"); a1.add("ZDC2205000115"); a1.add("ZDC2205000116"); a1.add("ZDC2205000117"); a1.add("ZDC2205000118"); a1.add("ZDC2205000119"); a1.add("ZDC22050001110"); print("TSC T-300A","99","17","320","140","128",a1,380); } /** * * @param pirnterName 打印机型号 * @param width
标签宽度 * @param heigth 标签高度 * @param x 一维码x起点 * @param y Y起点的一维码 * @param type 条码类型 * @param listData 一维码内容 * @param fontX 一行中条码的Y轴间距 */ public static void print(String pirnterName, String width, String heigth, String x, String y, String type,List<String> listData, Integer fontX){ int init =0; double sum=listData.size(); for (int i = 0; i < Math.ceil( sum/ 3); i ) { System.setProperty("jna.encoding", "GBK");// 支持中文 TscLibDll.INSTANCE.openport(pirnterName);///打印机型号 TscLibDll.INSTANCE.setup(width,heigth,"5","10","0","0","0"); TscLibDll.INSTANCE.clearbuffer(); for (int j = 0; j <3 ; j ) { if (init == listData.size()) { continue; } TscLibDll.INSTANCE.barcode(Integer.parseInt(x) j*fontX "",y,type,"100","1","180","2","3",listData.get(init)); init ; } TscLibDll.INSTANCE.printlabel("1", "1"); TscLibDll.INSTANCE.closeport(); } } public interface TscLibDll extends Library { // 默认读取项目根路径TSCLIB.dll,绝对路径也可以填写 TscPrintUtils.TscLibDll INSTANCE = (TscPrintUtils.TscLibDll) Native.loadLibrary ("TSCLIB", TscPrintUtils.TscLibDll.class); // 以下为dll支持函数库的方法,参数说明见附件 int about (); int openport (String pirnterName); int closeport (); int sendcommand (String printerCommand); int setup (String width,String height,String speed,String density,String sensor,String vertical,String offset); int downloadpcx (String filename,String image_name); int barcode (String x,String y,String type,String height,String readable,String rotation,String narrow,String wide,String code); int printerfont (String x,String y,String fonttype,String rotation,String xmul,String ymul,String text); int clearbuffer (); int printlabel (String set, String copy); int formfeed (); int nobackfeed (); int windowsfont (int x, int y, int fontheight, int rotation, int fontstyle, int fontunderline, String szFaceName, String content); } }