本文打印机型号: TSC MA3400P

后端调用tsc打印机是通过DLL来进行调用的,首先你需要两个TSC文件直接复制到项目目录下边即可

可以直接去官网下载:https://www.chinatsc.cn/zh-CN/downloads

还需要把这dll文件放到你的C:\Windows下边的64或者system32文件夹下边

32位的和64位的注意一下

jna这个依赖可以代替工具包中的 jna.jar需要引入一下

如果电脑连接了tsc打印机驱动程序可以在这里下载设置

到此为止准备部分已经完成

官方提供了调用示例如下:

public class JniDll { public interface TscLibDll extends Library {TscLibDll INSTANCE = (TscLibDll) Native.loadLibrary ("TSCLIB", TscLibDll.class);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);}public static void main(String[] args) {TscLibDll.INSTANCE.openport("TSC TTP-243E Pro");TscLibDll.INSTANCE.sendcommand("REM ***** This is a test by JAVA. *****");TscLibDll.INSTANCE.setup("100", "100", "5", "8", "0", "0", "0");TscLibDll.INSTANCE.clearbuffer();TscLibDll.INSTANCE.printerfont ("100", "10", "3", "0", "1", "1", "(JAVA) DLL Test!!");TscLibDll.INSTANCE.barcode("100", "40", "128", "50", "1", "0", "2", "2", "123456789");TscLibDll.INSTANCE.windowsfont(400, 200, 48, 0, 3, 1, "arial", "DEG 0");TscLibDll.INSTANCE.windowsfont(400, 200, 48, 90, 3, 1, "arial", "DEG 90");TscLibDll.INSTANCE.windowsfont(400, 200, 48, 180, 3, 1, "arial", "DEG 180");TscLibDll.INSTANCE.windowsfont(400, 200, 48, 270, 3, 1, "arial", "DEG 270");TscLibDll.INSTANCE.printlabel("1", "1");TscLibDll.INSTANCE.closeport();}
}

如果在运行的过程中提示找不到文件需要做如下配置

第一步

第二步 设置OK运行

根据自己的业务来进行调整 以下是调用代码

try {if(CollectionUtil.isEmpty(printList)){return R.failed("打印的数据为空,不能打印");}TscPrintUtil.printLOTUS("105", "105", printList,"arial");}catch (Exception e) {throw new OmsBusinessException(ErrorCodeEnum.E910001.code, StrUtil.format("打印服务异常"));}@Slf4j
public class TscPrintUtil {/**** 加载库文件*/private static final String LOAD_LIBRARY = "TSCLIB";/**** 设置 打印机名称(LOTUS)*/private static final String PRINTER_NAME_LOTUS = "TSC MA3400P";/**** LOTUS打印标签** @param setupWidth 设置纸张宽度* @param setupHeigth 设置纸张高度* @param printList 打印参数* @param fontType 字体类型 (宋体)*/public static void printLOTUS(String setupWidth, String setupHeigth, List<AsnLinePrintVo> printList,String fontType) {for (AsnLinePrintVo list : printList) {// 加载驱动System.loadLibrary(LOAD_LIBRARY);// 解决中文乱码System.setProperty("jna.encoding", "GBK");// 打印机型号JniDll.TscLibDll.INSTANCE.openport(PRINTER_NAME_LOTUS);// 设置标签的寬度、高度、列印速度、列印浓度、感应器类别、gap/black mark 垂直间距(标签纸                的间距)、gap/black mark 偏移距离)JniDll.TscLibDll.INSTANCE.setup(setupWidth, setupHeigth, "5", "8", "0", "3",                 "0");JniDll.TscLibDll.INSTANCE.clearbuffer();//var cmd = 'QRCODE 条码X方向起始点,条码Y方向起始点,纠错级别,二维码高度,A(A和M),旋转                    角 度,M2(分为类型1和类型2),S1 (s1-s8,默认s7),\"1231你好2421341325454353\"';// 打印二维码的参数和内容String partNumber ="QRCODE 300,820,Q,10,A,0,M2,S7,\"" + list.getPartNumber                    ()+"\"";// 传送指令JniDll.TscLibDll.INSTANCE.sendcommand(partNumber);//设置文本(位置(x,y)、大小、旋转角度、文字X方向放大倍率,1~8 、文字Y方向放大倍率,1~8 字                   体arial、内容)JniDll.TscLibDll.INSTANCE.windowsfont(900, 100, 70, 270, 2, 0, fontType,list.getPartNumber());//如果Sku的中文名称不为空则打印if(StringUtils.isNotBlank(list.getNameCN())){if(list.getNameCN().length()>8){JniDll.TscLibDll.INSTANCE.windowsfont(800, 100, 70, 270, 2, 0, fontType,list.getNameCN().substring(0,8));JniDll.TscLibDll.INSTANCE.windowsfont(700, 100, 70, 270, 2, 0, fontType,list.getNameCN().substring(9,list.getNameCN().length()));} else{JniDll.TscLibDll.INSTANCE.windowsfont(800, 100, 70, 270, 2, 0, fontType,list.getNameCN());}}if(StringUtils.isNotBlank(list.getNameEN())){if(list.getNameEN().length()>31){JniDll.TscLibDll.INSTANCE.windowsfont(600, 100, 70, 270, 2, 0, fontType,list.getNameEN().substring(0,15));JniDll.TscLibDll.INSTANCE.windowsfont(500, 100, 70, 270, 2, 0, fontType,list.getNameEN().substring(16,30));JniDll.TscLibDll.INSTANCE.windowsfont(400, 100, 70, 270, 2, 0, fontType,list.getNameEN().substring(31,list.getNameEN().length()));}else if(list.getNameEN().length()>15 && list.getNameEN().length()<31) {JniDll.TscLibDll.INSTANCE.windowsfont(600, 100, 70, 270, 2, 0, fontType,list.getNameEN().substring(0,15));JniDll.TscLibDll.INSTANCE.windowsfont(500, 100, 70, 270, 2, 0, fontType,list.getNameEN().substring(16,list.getNameEN().length()));} else {JniDll.TscLibDll.INSTANCE.windowsfont(600, 100, 70, 270, 2, 0, fontType,list.getNameEN());}}JniDll.TscLibDll.INSTANCE.windowsfont(900, 820, 70, 270, 2, 0, fontType,"Qty:"+String.valueOf(list.getNum()));//打印的页数JniDll.TscLibDll.INSTANCE.printlabel("1", String.valueOf(list.getNum()));// 关闭程序JniDll.TscLibDll.INSTANCE.closeport();}}

JAVA调用TSC打印机打印标签(二维码,数据等)超详细!!相关推荐

  1. JAVA C# Zxing生成的二维码数据转换为1bit的bmp下发到点阵终端。QRCode去白边,以bmp格式字节流发送,BMP图片解析

    BMP图像文件完全解析 - 知乎 注意: 小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中.越向后地址越高,比如00  01  02,02的地址是2,是高. BMP文 ...

  2. C#调用TSC条码打印机打印二维码(转)

    #region 调用TSC打印机打印/// <summary>/// 调用TSC打印机打印/// </summary>/// <param name="titl ...

  3. C#调用TSC条码打印机打印二维码

    #region 调用TSC打印机打印/// <summary>/// 调用TSC打印机打印/// </summary>/// <param name="titl ...

  4. java调用热敏打印机打印(包含二维码生成)

    项目中需要用到热敏打印机,并且在打印的同时,要生成二维码.并且打印,先说说二维码的生成吧 package com.jinke.util; import com.google.zxing.common. ...

  5. 前端实现 微信扫码登录网站 pc端(二维码嵌套页面) 超详细,包会

    一.准备工作 本人申明:本案例使用到的appid和AppSecret都是无效的 appid:应用唯一标识,在微信开放平台提交应用审核通过后获得 AppSecret:在微信开放平台提交应用审核通过后获得 ...

  6. Java调用TSC打印机进行打印

    最近项目中用到了打印机,最开始的完全不懂,现在弄好了,所以做了总结,该篇包括后台的调用打印(两种方式)跟前端的js的打印,但是只有IE现在支持打印,而且如果想远程连接打印机,二维码的生成和直接由打印机 ...

  7. java制作带有logo的二维码,解决zxing中文乱码

    目标 使用谷歌zxing生成带有logo二维码 便捷地解决二维码中文乱码问题 过程 下载依赖: maven坐标: <dependency><groupId>com.google ...

  8. Java(Spring boot)实现生成二维码

    文章目录 一.引入spring boot依赖: 二.工具类代码: 三.调用工具类生成二维码 1.将链接生成二维码图片并保存到指定路径 2.将链接生成二维码直接显示在页面 3.将以get请求传参链接生成 ...

  9. Java实现生成和解析二维码

    Java实现生成和解析二维码 文章目录 Java实现生成和解析二维码 一.建立项目 二.创建工具类 三.创建启动类 一.建立项目 首先需要创建一个普通的 Maven 项目,在这里我用的是 google ...

最新文章

  1. 对的调用没有匹配的函数_前端开发之——函数、事件、js对象
  2. P1312 Mayan游戏 [模拟][搜索]
  3. 数据结构实验之排序七:选课名单
  4. 面试官:this和super有什么区别?this能调用到父类吗?
  5. 将数组项复制到另一个数组中
  6. Request header field storeid is not allowed by Access-Control-Allow-Headers in preflight response.
  7. (转F001) Rust : 解引用,自动解引用
  8. pc测试xbox精英手柄的软件,Xbox Elite手柄还是Steam手柄?一个PC玩家的手柄之路 篇二:偷懒拖更一万年,补上使用细节及软件部分的测评...
  9. 操作系统答案 第四版
  10. 使用Python进行文件快速搜索(建立文件搜索索引)
  11. 五十三、微信小程序云开发豆瓣电影小项目
  12. 裸眼 3D 技术是什么原理?
  13. 【ajax】7.请求:请求超时与网络异常处理+取消请求+请求重复发送问题
  14. 计算机中的网络拓扑结构有哪些,网络中有哪些拓扑结构 轻松解读网络拓扑结构...
  15. 论文阅读:FACIAL: Synthesizing Dynamic Talking Face with Implicit Attribute Learning
  16. 2022-2028全球与中国长寿和抗衰老治疗市场现状及未来发展趋势
  17. 微信自动回复+图片识别
  18. 推荐系统深度学习实战之Wide_Deep
  19. 白櫵校园商品交易系统/校园二手物品交易系统/二手交易系统
  20. 淘宝C店双十一海选时间 淘宝C店双十一海选是什么时候开始

热门文章

  1. [Err] 1813 - Tablespace ‘`XX`.`XX`‘ exists.
  2. Long Press(长按功能)
  3. linux下代码写错了怎么更改_谢宝友:手把手教你给Linux内核发patch
  4. 天猫送给这些商家“首页置顶”丨 24张PPT详解天猫消费电子2018年商家策略
  5. C语言实验06_数学
  6. 电脑上的ofd格式文件如何打开呢_OFD格式的文件怎么打开预览?,来充电吧
  7. 标点符号的英文读写搜集(二)中英文标点符号的读法用法大全
  8. 东京・京都“APARTMENT HOTEL MIMARU”首次导入运用智能音箱和聊天机器人的IT服务
  9. 卷积神经网络 图像识别,卷积神经网络处理图片
  10. 创邻科技Galaxybase荣获2021年度IT168技术卓越奖