引入依赖

  <dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>3.2.5</version></dependency>

2、测试代码

import com.sun.jna.Library;
import com.sun.jna.Native;public class Gprinter {//加载库文件private static final String LOAD_LIBRARY = "TSCLIB";//打印机型号private static final String print_model = "Gprinter GP-3150TN (副本 1)";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 sendBinaryData(byte[] printerCommand, int CommandLength);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 windowsfont(int x, int y, int fontheight, int rotation, int fontstyle, int fontunderline, String szFaceName, String content);int windowsfontUnicode(int x, int y, int fontheight, int rotation, int fontstyle, int fontunderline, String szFaceName, byte[] content);int windowsfontUnicodeLengh(int x, int y, int fontheight, int rotation, int fontstyle, int fontunderline, String szFaceName, byte[] content, int length);int QRCODE(String x, String y, String ECC, String cell, String mode, String rotation, String data);byte usbportqueryprinter();}/*** 打印条码*/public static void BARCODE(String printerName, String barCode, String quantity) {//加载驱动System.loadLibrary(LOAD_LIBRARY);//解决中文乱码System.setProperty("jna.encoding", "GBK");TscLibDll.INSTANCE.openport(printerName);TscLibDll.INSTANCE.sendcommand("SIZE 40 mm, 15 mm");//该指令用于控制打印速度TscLibDll.INSTANCE.sendcommand("SPEED 2");//该指令用于控制打印时的浓度TscLibDll.INSTANCE.sendcommand("DENSITY 8");//该指令用于定义打印时出纸和打印字体的方向TscLibDll.INSTANCE.sendcommand("DIRECTION 1");//此命令是用来启用/禁用撕纸位置走到撕纸处,此设置关掉电源后将保存在打印机内TscLibDll.INSTANCE.sendcommand("SET TEAR ON");//该指令用于选择对应的国际代码页TscLibDll.INSTANCE.sendcommand("CODEPAGE UTF-8");TscLibDll.INSTANCE.clearbuffer();//BARCODE x 左上角水平坐标起点,y 左上角垂直坐标起点,"code type" 加密类型,height 条形码高度,human readable 0 表示人眼不可识,1 表示人眼可识,//rotation 条形码旋转角度,顺时针方向,narrow 窄 bar 宽度,以点(dot)表示,wide 宽 bar 宽度,以点(dot)表示,"content"TscLibDll.INSTANCE.barcode("80", "60", "128", "75", "0", "0", "2", "2", barCode);//打印条形码下方字体TscLibDll.INSTANCE.windowsfont(130, 140, 35, 0, 0, 0, "Arial", barCode);//设置打印三张一列TscLibDll.INSTANCE.printlabel(quantity, "1");TscLibDll.INSTANCE.closeport();}/*** 绘制二维码指令* 功能:繪製QRCODE二維條碼* 語法:* QRCODE X, Y, ECC Level, cell width, mode, rotation, [model, mask,]"Data string”* 參數說明* X QRCODE條碼左上角X座標* Y QRCODE條碼左上角Y座標* ECC level 錯誤糾正能力等級* L 7%* M 15%* Q 25%* H 30%* cell width    1~10* mode  自動生成編碼/手動生成編碼* A Auto* M Manual* rotation  順時針旋轉角度* 0 不旋轉* 90    順時針旋轉90度* 180   順時針旋轉180度* 270   順時針旋轉270度* model 條碼生成樣式* 1 (預設), 原始版本* 2 擴大版本* mask  範圍:0~8,預設7* Data string   條碼資料內容*/public static String CMD_QRCODE_FROMT(String barCode) {StringBuffer sb = new StringBuffer("QRCODE");sb.append(" ");sb.append("50,");//X QRCODE條碼左上角X座標sb.append("0,");//Y QRCODE條碼左上角Y座標sb.append("L,");//ECC level 錯誤糾正能力等級 L 7% M 15% Q 25% H 30%sb.append("7,");//cell width    1~10 二维码宽度 1-10sb.append("A,");//mode  自動生成編碼/手動生成編碼 A Auto M Manualsb.append("0,");//rotation  順時針旋轉角度 0 不旋轉 90    順時針旋轉90度 180   順時針旋轉180度 270   順時針旋轉270度sb.append("1,");//model 條碼生成樣式 1 (預設), 原始版本 2 擴大版本sb.append("7,");//mask  範圍:0~8,預設7sb.append("\"");sb.append(barCode);//Data string   二维码內容sb.append("\"");return sb.toString();}/*** 调用GP-1134T打印二维码* Author** @param barCode 二维码内容*/public static void QRCODE(String printerName, String barCode, String quantity) {//加载驱动System.loadLibrary(LOAD_LIBRARY);//解决中文乱码System.setProperty("jna.encoding", "GBK");TscLibDll.INSTANCE.openport(printerName);//打印二维码TscLibDll.INSTANCE.setup("30", "20", "3", "10", "0", "3", "0");TscLibDll.INSTANCE.clearbuffer();// 清除缓冲信息TscLibDll.INSTANCE.sendcommand("GAP 2 mm,0");// 设置 打印的方向.TscLibDll.INSTANCE.sendcommand("DIRECTION 1");// 设置 打印的方向.TscLibDll.INSTANCE.sendcommand("CODEPAGE UTF-8");TscLibDll.INSTANCE.sendcommand(CMD_QRCODE_FROMT(barCode));//打印二维码下方字体TscLibDll.INSTANCE.windowsfont(210, 150, 20, 90, 0, 0, "Arial", barCode);TscLibDll.INSTANCE.printlabel(quantity, "1");TscLibDll.INSTANCE.clearbuffer();// 清除缓冲信息TscLibDll.INSTANCE.closeport();}//测试public static void main(String[] args) {QRCODE("Gprinter GP-3150TN (副本 1)", "202208231501254", "1");}}

3、引入dll函数库到JAVA_HOME/bin 下

32位电脑引入放入32位的dll
64位的电脑放入64位的dll
dll提前链接
链接: https://pan.baidu.com/s/1OfvzKp1rl3xLsEkVcjjcuA?pwd=7gg5 提取码: 7gg5 复制这段内容后打开百度网盘手机App,操作更方便哦

4、最恶心的是 调x、y 轴
![在这里插入图片描述](https://img-blog.csdnimg.cn/bc61e65222c74bea973bd2f705cf479b.jpeg

5、安装驱动
链接: https://pan.baidu.com/s/1R8RvQu-_sneBQUQJh0VWBA?pwd=uj64 提取码: uj64 复制这段内容后打开百度网盘手机App,操作更方便哦

6、官网地址
http://cn.gainscha.com/qudong.html

springboot整合佳博打印机打印条码、二维码相关推荐

  1. SpringBoot 整合zxing生成或解析二维码

    生成无Logo二维码 . 有Logo二维码 和 解析二维码内容 一.导包 二.Demo 三.结果 一.导包 zxing地址:https://mvnrepository.com/artifact/com ...

  2. JAVA使用springboot整合佳博标签打印机(一)

    呕心沥血啊,这个打印机真好玩(反话)! 佳博打印机官网:http://cn.gainscha.com/gjxz.html 1.标题打印机品牌:佳博打印机 佳博有个官网,二次开发文件可以去管网下载,需要 ...

  3. springboot使用imageio返回图片_SpringBoot 二维码生成(复制即用)

    二维码生成 基础环境 SpringBoot.Maven 代码 依赖 <!-- 工具类 import Controller import 效果 Base64 字符串 base64 转换为图片在线工 ...

  4. DGIOT国内首家轻量级物联网开源平台——支持远程打印条码/二维码和一码设备全生命周期管理

    [小 迪 导读]:在制造企业工厂数字化转型过程中,经常会碰到下面这些问题: 老式方案 dgiot方案 需要多购买一个条码打印机 无需为打印条码而购买条码打印机 条码打印机只能打印条形码或类型的小型纸张 ...

  5. 使用 TSC TX600 使用命令驱动打印机打印二维码

    背景:由于公司项目需要二维码扫描功能 作用:通过加密算法生成的数据使用二维码打印机打印出二维码来,贴到设备是进行识别 环境:qt create ,外部库openssl加密库 rsa加密算法    电脑 ...

  6. thinkphp整合系列之phpqrcode生成二维码

    php生成二维码其实挺简单的:当然指的是使用qrcode类库: 因此关于是否要写这篇博客:我是犹豫了再三的: 不过最后还是决定写下吧:如果有童鞋急着用:就可以直接引了: 再个也可以作为即将写的文章微信 ...

  7. Java连接打印机打印二维码

    首先导入依赖 implementation 'com.google.zxing:core:3.5.1' implementation 'com.google.zxing:javase:3.5.1' 1 ...

  8. JAVA调用TSC打印机打印标签(二维码,数据等)超详细!!

    本文打印机型号: TSC MA3400P 后端调用tsc打印机是通过DLL来进行调用的,首先你需要两个TSC文件直接复制到项目目录下边即可 可以直接去官网下载:https://www.chinatsc ...

  9. SpringBoot利用ZXing工具来生成二维码(简单)

    一.简单二维码生成 1.1.依赖 <!--二维码工具--> <dependency><groupId>com.google.zxing</groupId> ...

最新文章

  1. VB.Net实现Web Service的基础
  2. 一种神经元探索系统方法及装置
  3. Spring注解之@validated的使用
  4. 用WPF做了几个小游戏
  5. Spark入门(四)Idea远程提交项目到spark集群
  6. 启动代码格式:nginx安装目录地址 -c nginx配置文件地址
  7. [Leetcode][第75题][JAVA][颜色分类][双(三)指针][计数排序]
  8. CentOS7挂载nfs盘快速指南
  9. 一组PHP可逆加密解密算法
  10. 【C++】重载赋值运算符
  11. 书呆子rico_来自书呆子总书呆子的6条阅读建议
  12. iOS蓝牙开发之数据传输精华篇
  13. JTopo交互式拓扑图(基本使用+常用场景)
  14. 均匀分布的期望和方差
  15. ISTP概况及网络版检索方法
  16. js实现房贷月供计算还款状况(贷款计算功能)
  17. python买卖股票_python买卖股票的最佳时机(基于贪心_蛮力算法)
  18. 事务四大特征:(原子性、一致性、隔离性、持久性)
  19. 【重要通知】红帽RHCE7.0版本考试即将下线
  20. 【深度学习】利用python画注意力热点图(heatmap)

热门文章

  1. 如何停止CruiseControl在linux平台上的运行。
  2. 吴恩达深度学习 4.3 卷积神经网络-目标检测
  3. Idea之递归10 的阶乘
  4. Spring DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144
  5. ATmega8熔丝设置
  6. [转] 玩智能手机必须知道的秘密
  7. 在linux系统下实现SHELL自动化批量备份交换机配置文件
  8. overleaf编辑latex使用中文字体的方法
  9. w32tm 排错时间
  10. 解决SmartRF04DD驱动安装问题