需求:某司要求做的web端应用调用本地打印机(佳博),打印内容从后端获取。思路变成了前端获取内容,传输到打印机,调用打印功能。这里我的另一篇文章已经完成前端带参数调用打印功能,有需要的同志们可以去TODO取,该篇文件主要是做java实现调用佳博打印机打印功能。

1. 下载佳博的开发文档,下载打印机的对应驱动,跟厂家要就行

这里要注意这个dll文件有32位跟64位两种,这里要注意引用这个文件要跟你的jdk的位数保持一致,你的jdk是32就用32的dll文件,是64就用64的dll文件。

2. 创建maven项目

2.1 依赖如下

  <!--打印的依赖start--><dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>3.2.5</version></dependency>
<!--打印的依赖send-->

2.2 把dll放到根目录下

2.3 其余代码如下,运行main函数即可实现打印机的调用

 //调用本地函数
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) throws Exception {String printContent = "要打印的内容";System.setProperty("jna.encoding", "GBK");// TscLibDll.INSTANCE.about();// 调用打印机的流程如下// 1.指定打印机//Gprinter GP-9025T这里是打印机的名字,在设备里面能找到TscLibDll.INSTANCE.openport("Gprinter GP-9025T");// 2.设置打印机纸张规格  设定标签的宽度、高度、打印速度、打印浓度、传感器类别、gap/black mark 垂直间距、gap/black mark 偏移距离)TscLibDll.INSTANCE.setup("20", "120" +"", "5", "8", "0", "0", "0");// 4.将字体写入暂存区准备打印
//        a: 字符串型别,文字X 方向起始点,以点(point)表示。(200 DPI,1 点=1/8 mm, 300 DPI,1 点=1/12 mm)
//        b: 字符串型别,文字Y 方向起始点,以点(point)表示。(200 DPI,1 点=1/8 mm, 300 DPI,1 点=1/12 mm)
//        c: 字符串型别,内建字型名称,共8 种。1: 8*/12 dots 2: 12*20 dots 3: 16*24 dots 4: 24*32 dots 5: 32*48 dots TST24.BF2: 繁体中文24*24 TSS24.BF2: 简体中文24*24 K: 韩文 24*24
//        d: 字符串型别,设定文字旋转角度 0: 旋转0 度 90: 旋转90 度 180: 旋转180 度 270: 旋转270 度
//        e: 字符串型别,设定文字X 方向放大倍数,1~8
//        f: 字符串型别,设定文字X 方向放大倍数,1~8
//        g: 字符串型别,打印文字内容// 3.清除上次打印后的缓存TscLibDll.INSTANCE.clearbuffer();TscLibDll.INSTANCE.printerfont("80", "0", "TSS24.BF2", "90", "2", "2", printContent );// 5.调用打印机打印a: 字符串型别,设定打印标签个数(set)   b: 字符串型别,设定打印标签份数(copy)TscLibDll.INSTANCE.printlabel("1", "2");// 6.断开和打印机的连接TscLibDll.INSTANCE.closeport();}

2.4 中文乱码问题

用加解密解决,在TODO文章中有写。

佳博打印机接入(java)相关推荐

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

    适用于gp-3120tu机型通过蓝牙协议与android app的对接, 用的是TSC指令. package com.freestyle.demo; import android.content.In ...

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

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

  3. java使用佳博打印机打印条形码

    在实际开发中我们使用条形码打印机打印条形码,这里介绍下使用动态链接库TSClib.dll编辑方式打印条形码,还有js实现方式,这里不进行介绍,会给相关的demo 准备工作: 1.佳博打印机,如佳博GP ...

  4. 蓝牙热敏打印开发(佳博打印机)

    最近在研究蓝牙打印,这是个大坑啊,不同的打印机会有不同的设置,这边用的是佳博的热敏打印机,就以它为例吧. 一,首先,蓝牙打印当然得要连接蓝牙,这边在demo里有两个文件,ConnectViewCont ...

  5. 佳博便携式条码打印机怎么使用_佳博打印机如何设置热敏打印

    原标题:佳博打印机如何设置热敏打印 现在市场上标签纸种类比较多,如果你的打印机适合哪种标签纸,你需要在你的打印机上安装对应的标签纸即可,这里以佳博打印机安装热敏纸为例,首选需要在打印机上安装热敏纸,安 ...

  6. gprinter佳博打印机androidSDK

    最近在用佳博的SDK做打印的功能,由于一直做的是.net,没有android的基础,这个功能我做了一个多月,包括前期调研佳博打印机的打印方式.佳博打印机有两种打印方式,一种是标签打印,要用到TscCo ...

  7. 佳博打印机android版本代码优化

    最近公司需要使用蓝牙打印功能,买了两个样机,一个是佳博,另外一个是MobilePrinter. 不得不说因为都用的人比较少,开发文档都比较坑,佳博打印机虽然文档还算完整,但是demo实在很难看,业务流 ...

  8. uniapp连接佳博打印机实现蓝牙打印票据功能

    开始实现搜索蓝牙.获取蓝牙设备.连接蓝牙设备等操作.代码如下 <template><view class="content"><button clas ...

  9. web应用 远程调用佳博打印机进行条码打印(详细教程)

    需求: 通过html调用本地服务启动打印机,带参数去打印不同内容. 步骤: 1. 生成可直接执行的exe程序. 2. 注册服务. 3. 前端调用测试. 1. 生成可直接执行的exe程序 1.1 前提: ...

最新文章

  1. android button imagebutton 区别,Android 开发入门篇
  2. 7 series FPGA DSP48E介绍
  3. Road Construction
  4. Leetcode题库203.移除链表元素(尾指针填充 / 虚头指针定义 c实现)
  5. CSDN博客投票活动开始了
  6. 计算机组成相关论文,计算机组成与结构课程论文.docx
  7. python3怎么安装mysql_Python3下mysqlclient的安装和使用
  8. MariaDB数据库介绍之一、备份(mysqldump、lvm2快照、xtrabackup)
  9. 【深入理解Nginx】Nginx的配置
  10. Ubuntu 图形界面入门
  11. 苹果手机绕激活锁之亲身体验
  12. Java高级:面试题-1
  13. InDesign CS3完全自学视频教程
  14. oc项目中使用swift
  15. 排序算法之---希尔排序(一看你就懂滴)
  16. DACAI串口屏使用
  17. Linux 命令(204)—— ss 命令
  18. Win11写字板怎么打开?Win11开启写字板的方法
  19. 【软件质量】问题与保证谈论
  20. uniapp踩坑(五):监听手机物理返回键和滑动返回事件

热门文章

  1. 城市化减少了空气中微生物,这对我们的健康意味着什么?
  2. 阿里数据中台OneID核心能力之ID-Mapping
  3. 美国普渡大学 计算机科学,普渡大学西拉法叶分校计算机科学系怎么样?
  4. 大数据平台搭建 | Hive
  5. 假期作业:翔鹰帝国第12届火箭筒杯
  6. 腾讯薄如蝉翼的未来 靠谁来猜?
  7. 卸载python2.7
  8. 使用Python汇总APAI64硬件报告信息汇总硬件台账
  9. 开源代码 | FMCW-MIMO雷达仿真MATLAB
  10. Python 实现八个概率分布公式及可视化