java使用佳博打印机打印标签

news/2024/11/29 2:47:14/

文章目录

  • 1.前言
    • 1.1打印机型号及驱动说明
    • 1.2背景概要
  • 2.填坑
  • 3.上代码
    • 1.项目截图
    • 2.==中文打印需要注意两点==
    • 3.项目源码
  • 4.总结

1.前言

1.1打印机型号及驱动说明

打印机型号:佳博GP-3120TU打印机

标签纸规格:40mm*30mm 间隔2mm

驱动:佳博条码打印机通用驱动

TSCLIB.dll函数库支持:基本支持佳博的所有打印机

1.2背景概要

因为公司的业务需要,需要用java程序批量打印小标签,小标签是热敏打印机打出来可以贴的那种标签,就像超市的菜包上面贴的价格规格标签。先看一下我最终的效果图:
在这里插入图片描述
为了对接这个打印机,花费了整整一天的时间走过了他所有的坑,所以在此记录下走坑的过程

2.填坑

  1. 官方提供的DEMO使用JDK1.7,本人使用JDK1.8没有发现问题,目测支持1.7以上版本

  2. 官方提供TSCLIB.dll(核心动态函数库)的32位和64位版本,划重点:事实上这个位数相当重要,TSCLIB.dll必须与jdk的位数相同

  3. 如果打印内容中包含中文,代码则以GBK编码编写,且编译成class文件也是用GBK编码,否则打印标签的中文会乱码

  4. 使用JNA框架调用dll库,JNA请使用3.2.5版本,maven依赖如下,我第一次使用4.0.0版本JNA读取dll,出现异常无法正常读取

    <dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>3.2.5</version>
    </dependency>
    
  5. 计算机上需要安装打印机驱动,我使用的佳博打印机通用驱动

3.上代码

demo代码很简单,是一个简单的java项目.
先上截图,后上代码,文档和TSCLIB.dll在附件中请下载支持一波

1.项目截图

在这里插入图片描述

TSCLIB.dll文件直接放在项目的根路径下,注意:不是classpath,是项目跟路径

2.中文打印需要注意两点

  • .java源文件切记使用GBK编码
    在这里插入图片描述
  • 编译成.class文件请使用GBK编码,idea启动时添加VM arguments 加 -Dfile.encoding=GBK即可
    在这里插入图片描述

3.项目源码

以下为dll函数库支持的方法,方法的作用与参数说明见附件【dll函数库api文档】

public class PrintLabelMain {public interface TscLibDll extends Library {TscLibDll INSTANCE = (TscLibDll) Native.loadLibrary ("TSCLIB", TscLibDll.class);// 以下为dll函数库支持的方法,方法的作用与参数说明见附件【dll函数库api文档】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.about();TscLibDll.INSTANCE.openport("TSC TTP-2410M");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.sendcommand("PUTPCX 550,10,\"UL.PCX\"");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();}}

4.总结

佳博官方的API写的太烂了,什么都没有描述,demo下载下来运行全是错,在网上找的资料完全不够用,我基本上走了所有的坑,为了让和我相同情况的码农朋友们能在这条路上走的轻松,特意整理了一下这篇文章,如果文章内容描述有误,请在评论处提出,如果遇到了我没有描述的其他问题,请联系QQ1010830256联系我我们一起探讨,QQ偶尔上线,还望谅解。


http://www.ppmy.cn/news/653838.html

相关文章

Uniapp Android 佳博 小票打印机 插件

Uniapp Android 佳博 小票打印机 插件 Uniapp Android 佳博小票打印机插件: 支持图片、条型码、二维码 打印。 1. 实例化插件 const gp uni.requireNativePlugin(Html5App-Gprinter); 2.本插件包含4个方法 一、打开蓝牙搜索界面&#xff0c;搜索蓝牙打印机 ,setBackgrou…

佳博/芯桦打票机对接(含USB和网口)

佳博/芯桦打票机对接&#xff08;含USB和网口&#xff09; 记录一下最近实现的一个需求&#xff0c;用PHP远程连接芯桦、佳博打票机&#xff0c;代码还未进行优化&#xff0c;基本功能已经实现打印&#xff0c;具体打印指令需要查看佳博/芯桦的打票机指令&#xff0c;USB口打印…

佳博热敏条码打印机修改ip_佳博打印机修改IP教程.doc

佳博打印机修改IP教程.doc 佳博打印机修改IP教程本教程适用于80系列打印机及3150,9035打印自检测试页查看打印机的Ip步骤如下:GP80250以上系列打印机打印自检测试页:把打印机关机,按住FEED键再开机,等3秒左右,ERROR灯灭了放手即可GPL80160系列打印机打印自检测试页:把打…

【Android】Android 集成佳博80打印机打印票据

文章目录 【Android】Android 集成佳博80打印机打印票据1、集成佳博80打印机依赖2、规范调用接口3、使用到的相关对象以及工具类4、MainActivity初始化接口5、Uniapp调用方法 技术分享区 【Android】Android 集成佳博80打印机打印票据 1、集成佳博80打印机依赖 相关依赖在佳博…

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

呕心沥血啊,这个打印机真好玩(反话)! 佳博打印机官网:http://cn.gainscha.com/gjxz.html 1.标题打印机品牌:佳博打印机 佳博有个官网,二次开发文件可以去管网下载,需要注意的是,他的示例只有一个条形码打印示例(不带下面的编号) 2.标签纸规格 左边条形码标签纸规格:10mm40mm…

佳博android sdk,小白封装佳博gprintersdkv2.2,漫漫长路(一)

以前用用这个做了个APP,觉得模块库好用,很多都免费,基本功能都能实现,距做上一个APP已经好久了,我除了会写一点网页(ASP),不会设计,只专注做一些功能外,我其它基本什么都不会。现在项目需要一个蓝牙打印的,到库里一看,好贵。但人家的封装确实牛,贵也有道理…

佳博打印机安装教程

佳博公司出品的GP-3120TUA及GP-3200TUA系列热敏式条码打印机将以合理的经济价位提供给您安全可靠且高效的打印品质。同时GP-3120TUA及GP-3200TUA的超强功能及操作简便的特性&#xff0c;在热敏式感应条码打印机中&#xff0c;是您的最佳选择。 佳博条码打印机能够满足实时、批…

java 佳博打印机,佳博蓝牙打印的java 连接

适用于gp-3120tu机型通过蓝牙协议与android app的对接, 用的是TSC指令. package com.freestyle.demo; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Handler; import android.os.HandlerThread;…