公司新买了一台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条码打印机接口打印条码和二维码相关推荐

  1. ZPL 打印条码、二维码及小票(中文/汉字),生成条码、二维码图片【Asp.Net】-含示例代码

    生成条码(图1).二维码(图2)图片及打印出二维码标签(图3)效果                 图1                                       图2        ...

  2. Deli条码打印机如何批量打印二维码

    如题,今天小编就和大家说说Deli条码打印机如何批量打印二维码,除了必须的Deli条码打印机外,还需要条码打印软件,用来生成二维码,话不多活,接下来我们就看先是如何实现的. 把Deli条码打印机和电脑 ...

  3. 二维码接口B生成二维码

    二维码接口B生成二维码 一.将小程序发布 二.获取access_token 代码如下: getaccess() {var that = this;wx.request({url: 'https://a ...

  4. TSC打印机打印条形码和二维码,java实现方式

    以下为java方式实现条码打印,供参考,一般可用于本地调试. 1.js和applet的实现方式见另一篇文章. 2.TSC applet和js打印测试包(包含打印机驱动.打印插件.applet和js调试 ...

  5. 前端调用打印机打印条码、二维码(一些坑)

    1.首先电脑需要安装TSCActiveX控件:TSCActiveX.dll,TSCLIB.dll放入系统盘里(32和64)(我的打印机型号是TSC TTP-244 Pro):使用regsvr32去注册 ...

  6. TSC打印机打印条形码和二维码,JS实现方式

    自上一篇TSC打印条形码和二维码的文章发布以来,有不 少网友咨询相关技术, 今天全部整理一下,实现的源码和文件也全部公开. -- 2019.03.28  整理最新的js打印的实现方式 说明: 1.以下 ...

  7. 使用微信支付接口生成支付二维码

    下载微信支付提供的SDK, 下载完后打开源码,install 到本地仓库. 使用微信支付 SDK,在 maven 工程中引入依赖 <dependency> <groupId>c ...

  8. springboot整合佳博打印机打印条码、二维码

    引入依赖 <dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</arti ...

  9. 简单的二维码生成接口,自动生成二维码,返回图片地址

    自动生成二维码,返回图片地址 本来不想写的,但是怕太久不写这个东西,就要荒废了,就先记录一下简单的东西 这里因为,返回地址的时候,通过了nginx ,我试了很多方法都抓取不到对应的IP地址, 就在ng ...

最新文章

  1. 在Linux部署Nodejs项目,一旦断掉XShell就会导致服务被停掉,真的很郁闷~怎么办?果断用forever
  2. 【基础巩固篇】Java 8中对CAS的优化
  3. RabbitMQ的四种交换机
  4. Java多线程闲聊(二):活锁和死锁
  5. php好玩的源码_github上比较有趣的PHP开源项目
  6. 基本数据类型(列表,元祖,字典,集合)
  7. P7077-函数调用【拓扑排序,dp】
  8. 关于python语言的编程模式、哪个说法正确_测验1: Python基本语法元素 (第1周) 单选题+程序题...
  9. vb mysql 插入记录_vb实现数据库的连接,修改,删除,插入(ADO.Net)
  10. linux下安装cudnn
  11. HTML5的离线存储有几种方式?
  12. 静态网页制作初步体会
  13. 解决tensorflow.python.framework.errors_impl.InvalidArgumentError: indices[0,32] = -1 is not in [0, 50)
  14. STM32三种BOOT模式介绍
  15. spring常见面试题(2023最新)
  16. 在office2016中,安装mathtype6.9后出现的dll文件缺失问题
  17. Django 配置MySQL
  18. Android 桌面工具,安卓怎样添加桌面工具
  19. 刚过去的520,大家都在送什么礼物,Python用可视化图告诉你
  20. 马云投1000亿建达摩院 誓超微软IBM 丨用友联手海底捞打造餐饮云生态【软件网每日新闻播报│第10-11期】

热门文章

  1. Anaconda Navigator 缩放问题(过大/过小)
  2. 运维监控系统PIGOSS BSM 如何实现IT巡检
  3. JAVA美食预定推荐系统
  4. Python3制作鼠标拾色器并显示十六进制数值(有单独窗口显示取色)
  5. MC9S12G128模块化分层化软件架构之六——KEY
  6. 群辉 RAID1 数据恢复小记
  7. 微信小程序中的数据请求
  8. 新手如何做英文站赚美元
  9. 互动直播系统源码 直播系统源码
  10. golang力扣leetcode 2245.转角路径的乘积中最多能有几个尾随零