Java调用TSC条码打印机接口打印条码和二维码
公司新买了一台TSC条码打印机,型号:TSC TTP-244 PRO,让和现有资产管理系统对接,可以根据系统上的编码直接打印。
研究了几天,终于调试出来了,下边是代码,,目测可用:
java后台调试代码(连接好打印机后可直接打印,用于直接调试):
import java.io.UnsupportedEncodingException;import com.sun.jna.win32.StdCallLibrary;
import com.sun.jna.Native;public class TscMain {public interface TscLibDll extends StdCallLibrary {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) throws UnsupportedEncodingException {System.setProperty("jna.encoding", "GBK");// 支持中文// TscLibDll.INSTANCE.about();TscLibDll.INSTANCE.openport("TSC TTP-244 Pro");// TscLibDll.INSTANCE.downloadpcx("C:\\UL.PCX", "UL.PCX");// 打印图片时需要先下载到设备// TscLibDll.INSTANCE.sendcommand("REM ***** This is a test by JAVA. *****");TscLibDll.INSTANCE.setup("60", "40", "5", "15", "0", "2", "0");TscLibDll.INSTANCE.sendcommand("SET TEAR ON");TscLibDll.INSTANCE.clearbuffer();String command = "QRCODE 300,70,L,6,A,0,M2,S3,\"123456\"";// 打印二维码TscLibDll.INSTANCE.sendcommand(command);// TscLibDll.INSTANCE.sendcommand("PUTPCX 550,10,\"UL.PCX\"");// 图片位置// TscLibDll.INSTANCE.printerfont("100", "50", "TSS24.BF2", "0", "1", "1", "Technology");TscLibDll.INSTANCE.barcode("70", "140", "128", "90", "0", "0", "2", "2", "A123456789");// 打印内容,参数是位置和字体TscLibDll.INSTANCE.windowsfont(15, 15, 40, 0, 2, 1, "Arial", "网络科技公司");TscLibDll.INSTANCE.windowsfont(30, 90, 32, 0, 2, 0, "Arial", "--- 研发部");TscLibDll.INSTANCE.windowsfont(120, 240, 32, 0, 2, 0, "Arial", "A123456789");TscLibDll.INSTANCE.printlabel("1", "1");TscLibDll.INSTANCE.closeport();}
}
如何能够在线操作打印机呢?还想传递参数,同时打印条码和二维码?这里有两个解决方案。
1、使用java applet,再通过java后台调用dll打印。(此方法实现较复杂,有兴趣的可以到https://www.xinac.com/article/223.html查看)
2、直接在页面上使用JS打印二维码。
<script type="text/javascript">var TSCObj = new ActiveXObject("TSCActiveX.TSCLIB");TSCObj.ActiveXopenport("TSC TTP-244 Pro");TSCObj.ActiveXsetup("60", "40", "5", "12", "0", "2", "0");TSCObj.ActiveXsendcommand("SET TEAR ON");TSCObj.ActiveXclearbuffer();TSCObj.ActiveXwindowsfont(230, 310, 48, 180, 2, 0, "Arial", "固定资产标识卡");TSCObj.ActiveXwindowsfont(500, 305, 48, 180, 2, 1, "Arial", " ");TSCObj.ActiveXwindowsfont(450, 250, 30, 180, 2, 0, "Arial", "资产名称:测试资产");TSCObj.ActiveXwindowsfont(450, 220, 30, 180, 2, 0, "Arial", "资产编号:20171012100003");TSCObj.ActiveXwindowsfont(450, 190, 30, 180, 2, 0, "Arial", "使用部门:研发中心");TSCObj.ActiveXwindowsfont(450, 160, 30, 180, 2, 0, "Arial", "产品规格:TEST");TSCObj.ActiveXwindowsfont(450, 130, 30, 180, 2, 0, "Arial", "购置日期:2017-12-05");TSCObj.ActiveXbarcode("450", "90", "128", "60", "1", "180", "2", "2", "20171012100003");// TSCObj.ActiveXsendcommand("QRCODE 10,15,L,5,A,0,M2,S3,\"20171012100003\"");TSCObj.ActiveXsendcommand("QRCODE 12,10,L,3,A,0,M2,S3,\"http://qr.xxxxx.cn/20171012100003\"");TSCObj.ActiveXprintlabel("1", "1");TSCObj.ActiveXcloseport();</script>
- 注意:只能用IE下打印,使用前必须先注册驱动;如果不能打印,试试把安全选项全部启动。
- 以上代码本地已调试成功,有需要的请留言。
- Java后台直接生成二维码请参见另一篇文章。
打印出来大概是这样子:
-- 2017.01.04更新:增加一些注释和解决方案
-- 2017.12.19更新:增加JS打印条码的方法
附件:https://www.xinac.com/article/223.html
Java调用TSC条码打印机接口打印条码和二维码相关推荐
- ZPL 打印条码、二维码及小票(中文/汉字),生成条码、二维码图片【Asp.Net】-含示例代码
生成条码(图1).二维码(图2)图片及打印出二维码标签(图3)效果 图1 图2 ...
- Deli条码打印机如何批量打印二维码
如题,今天小编就和大家说说Deli条码打印机如何批量打印二维码,除了必须的Deli条码打印机外,还需要条码打印软件,用来生成二维码,话不多活,接下来我们就看先是如何实现的. 把Deli条码打印机和电脑 ...
- 二维码接口B生成二维码
二维码接口B生成二维码 一.将小程序发布 二.获取access_token 代码如下: getaccess() {var that = this;wx.request({url: 'https://a ...
- TSC打印机打印条形码和二维码,java实现方式
以下为java方式实现条码打印,供参考,一般可用于本地调试. 1.js和applet的实现方式见另一篇文章. 2.TSC applet和js打印测试包(包含打印机驱动.打印插件.applet和js调试 ...
- 前端调用打印机打印条码、二维码(一些坑)
1.首先电脑需要安装TSCActiveX控件:TSCActiveX.dll,TSCLIB.dll放入系统盘里(32和64)(我的打印机型号是TSC TTP-244 Pro):使用regsvr32去注册 ...
- TSC打印机打印条形码和二维码,JS实现方式
自上一篇TSC打印条形码和二维码的文章发布以来,有不 少网友咨询相关技术, 今天全部整理一下,实现的源码和文件也全部公开. -- 2019.03.28 整理最新的js打印的实现方式 说明: 1.以下 ...
- 使用微信支付接口生成支付二维码
下载微信支付提供的SDK, 下载完后打开源码,install 到本地仓库. 使用微信支付 SDK,在 maven 工程中引入依赖 <dependency> <groupId>c ...
- springboot整合佳博打印机打印条码、二维码
引入依赖 <dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</arti ...
- 简单的二维码生成接口,自动生成二维码,返回图片地址
自动生成二维码,返回图片地址 本来不想写的,但是怕太久不写这个东西,就要荒废了,就先记录一下简单的东西 这里因为,返回地址的时候,通过了nginx ,我试了很多方法都抓取不到对应的IP地址, 就在ng ...
最新文章
- 在Linux部署Nodejs项目,一旦断掉XShell就会导致服务被停掉,真的很郁闷~怎么办?果断用forever
- 【基础巩固篇】Java 8中对CAS的优化
- RabbitMQ的四种交换机
- Java多线程闲聊(二):活锁和死锁
- php好玩的源码_github上比较有趣的PHP开源项目
- 基本数据类型(列表,元祖,字典,集合)
- P7077-函数调用【拓扑排序,dp】
- 关于python语言的编程模式、哪个说法正确_测验1: Python基本语法元素 (第1周) 单选题+程序题...
- vb mysql 插入记录_vb实现数据库的连接,修改,删除,插入(ADO.Net)
- linux下安装cudnn
- HTML5的离线存储有几种方式?
- 静态网页制作初步体会
- 解决tensorflow.python.framework.errors_impl.InvalidArgumentError: indices[0,32] = -1 is not in [0, 50)
- STM32三种BOOT模式介绍
- spring常见面试题(2023最新)
- 在office2016中,安装mathtype6.9后出现的dll文件缺失问题
- Django 配置MySQL
- Android 桌面工具,安卓怎样添加桌面工具
- 刚过去的520,大家都在送什么礼物,Python用可视化图告诉你
- 马云投1000亿建达摩院 誓超微软IBM 丨用友联手海底捞打造餐饮云生态【软件网每日新闻播报│第10-11期】