TSC打印机使用教程终极版
最近公司做一个资产采集的项目,之前做过此类项目,不过没有整理资料,借这次机会写一下,做个记录。
本教程使用的打印机型号:TSC TTP-244 Plus 官方文档
一、TSC打印机安装
1.机器安装
根据官方快速安装指南安装打印机,此处不详细说明,也可以看视频教程,唯一需要注意的地方就是碳带的方向不要装错
打印机初始化、感测器校正方法
a) 两个手指同时按住PAUSE、FEED键,不要松手,同时开机。
b) 待三个灯轮流闪时,只松开FEED键。待走纸,可松开PAUSE键。正常出纸是出大概2-3张标签纸。
c) 按下FEED键,正常出纸为一张标签纸高度。并停在正常撕纸位置。
2.安装驱动
安装完驱动后,在页面设置修改下纸张大小,打印测试页。
二、程序调用
1.准备
相关文件:TSPL2指令集(中文版) dll
注册dll:新建bat文件,复制对应系统版本的命令,把下载的dll和bat命令文件放到同一目录,执行bat命令。
- set source=.
- set target=%windir%\system32
- echo 'Copy Files...'
- copy %source%\TSCActiveX.dll %target%
- copy %source%\TSCLIB.dll %target%
- echo 'Regist Service'
- regsvr32 %target%\TSCActiveX.dll
32位系统
- set source=.
- set target=%windir%\sysWOW64
- echo 'Copy Files...'
- copy %source%\TSCActiveX.dll %target%
- copy %source%\TSCLIB.dll %target%
- echo 'Regist Service'
- regsvr32 %target%\TSCActiveX.dll
64位系统
2.JavaScript方式调用
- <script type='text/javascript' language='javascript'>
- var d = new Date();
- var time = d.toLocaleString();
- var TSCObj;
- TSCObj = new ActiveXObject("TSCActiveX.TSCLIB");//引入插件
- //TSCObj.ActiveXabout();
- TSCObj.ActiveXopenport ("TSC TTP-244 Plus");//打开打印机端口
- TSCObj.ActiveXsetup ("99.5","70","5","8","0","2","0");//设置初始参数
- //TSCObj.ActiveXformfeed();
- //TSCObj.ActiveXnobackfeed();
- TSCObj.ActiveXsendcommand ("SET TEAR ON");
- TSCObj.ActiveXclearbuffer();
- TSCObj.ActiveXwindowsfont (260, 100, 36, 0, 0, 0, "arial", "办公耗材-标签纸");//打印文本
- TSCObj.ActiveXwindowsfont (450, 170, 32, 0, 0, 0, "arial", time);//打印时间
- //BARCODE X,Y,”code type”,height,human readable,rotation,narrow,wide,[alignment,]”content“
- TSCObj.ActiveXbarcode ("100", "300", "128", "100", "2", "0", "2", "2", "PD102011");//打印条码
- TSCObj.ActiveXprintlabel ("1","1");
- TSCObj.ActiveXcloseport();//关闭端口
- </script>
Javascript代码
3.C#调用
- #region 调用TSC打印机打印条码
- /// <summary>
- /// 调用TSC打印机打印条码
- /// </summary>
- /// <param name="title">打印的标题</param>
- /// <param name="barCode">打印的条码编号</param>
- public static void TSC(string title, string barCode)
- {
- // 打开 打印机 端口.
- TSCLIB_DLL.openport(p_port);
- // 设置标签 宽度、高度 等信息.
- // 宽 94mm 高 25mm
- // 速度为4
- // 字体浓度为8
- // 使用垂直間距感測器(gap sensor)
- // 两个标签之间的 间距为 3.5mm
- TSCLIB_DLL.setup("", "", "", "", "", "3.5", "");
- // 清除缓冲信息
- TSCLIB_DLL.clearbuffer();
- // 发送 TSPL 指令.
- // 设置 打印的方向.
- TSCLIB_DLL.sendcommand("DIRECTION 1");
- // 打印文本信息.
- // 在 (176, 16) 的坐标上
- // 字体高度为34
- // 旋转的角度为 0 度
- // 2 表示 粗体.
- // 文字没有下划线.
- // 字体为 黑体.
- // 打印的内容为:title
- TSCLIB_DLL.windowsfont(, , , , , , "宋体", title);
- // 打印条码.
- // 在 (176, 66) 的坐标上
- // 以 Code39 的条码方式
- // 条码高度 130
- // 打印条码的同时,还打印条码的文本信息.
- // 旋转的角度为 0 度
- // 条码 宽 窄 比例因子为 7:12
- // 条码内容为:barCode
- TSCLIB_DLL.barcode("", "", "", "", "", "", "", "", barCode);
- // 打印.
- TSCLIB_DLL.printlabel("", "");
- // 关闭 打印机 端口
- TSCLIB_DLL.closeport();
- }
- #endregion
C#代码
4.Java调用
解压文件,将jna.jar包添加到项目 下载地址
本示例打印的是二维码,由于官方文档中没有重写打印二维码的方法,我也懒得写了,直接使用的发送命令的方式打印。
- package com.zmkj.momo.admin;
- import com.sun.jna.Library;
- import com.sun.jna.Native;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- /**
- * TSC打印机测试
- */
- public class TscPrint {
- 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 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) {
- System.setProperty("jna.encoding", "GBK");// 支持中文
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String time = df.format(new Date());
- String qrCode = "PD102011";
- //TscLibDll.INSTANCE.about();
- TscLibDll.INSTANCE.openport("TSC TTP-244 Plus");
- //TscLibDll.INSTANCE.downloadpcx("C:\\UL.PCX", "UL.PCX");
- TscLibDll.INSTANCE.setup("99.5","70","5","8","0","2","0");
- TscLibDll.INSTANCE.clearbuffer();
- //TscLibDll.INSTANCE.sendcommand("PUTPCX 550,10,\"UL.PCX\"");
- String command = "QRCODE 300,250,Q,8,A,0,M2,S7,\"" + qrCode+"\""; //打印二维码的参数和内容
- TscLibDll.INSTANCE.sendcommand(command); //传送指令
- TscLibDll.INSTANCE.windowsfont(260, 100, 36, 0, 0, 0, "arial", "办公耗材-标签纸");
- TscLibDll.INSTANCE.windowsfont(450, 150, 32, 0, 0, 0, "arial", time);
- TscLibDll.INSTANCE.printlabel("1", "1");
- TscLibDll.INSTANCE.closeport();
- }
- }
Java代码
如果运行报错UnsatisfiedLinkError: Unable to load library “TSCLIB”...可以尝试把JDK换成32位版本。
在调用过程中有不明白的地方看TSPL2说明书,上面有详细的指令用法以及参数说明!!!
参考:
TSC打印机使用教程终极版的更多相关文章
- 800元组装一台3D打印机全教程流程
我最近正好要组装一台新的reprap的kossel delta型开源3d打印机,这台机器性价比非常高,具有速度快,静音,三臂并联结构,扩展性强,便宜的特点.图纸啥的都有,只是用到mega2560和ra ...
- 800元组装一台3D打印机全教程流程-零件清单
继前面的教程800元组装一台3D打印机全教程流程 k800是一台根据kosselmini改进的低成本3d打印机,通过改变设计,降低了成本,但损失较少性能,取得性价比. 主要改动是:底部支架改为-> ...
- 终极版Servlet——我只能提示您路过别错过
终极版Servlet 前言:这两天看了SSM框架,本来是想往后继续学的,脑门一转又回来了,不能就这么不声不响的走了,看了这么多天的Servlet,再写最后一篇做个告别吧,这篇起名为终极版,是我现在所能 ...
- W3Cschool菜鸟教程离线版下载链接
请在电脑上打开以下链接进行下载w3cschool 离线版(chm):http://pan.baidu.com/s/1bniwRCV(最新,2014年10月21日更新)w3cschool 离线版(htm ...
- 08重编终极版《东邪西毒:终极版》DVD粤语中字
1.东邪西毒].Ashes.of.Time.1994.384p.DVDRip.x264.ac3-DTMM.mkv 这个版本最清晰 ,可惜删减了,只有87分钟,粤语,1.4G. 2.东邪西毒(初始版). ...
- 零积分下载,2014年辛星mysql教程秋季版第一本已经完工,期待您的支持
经过一段时间的不懈努力.终于,2014年辛星mysql教程秋季版的第一本,即夯实基础已经完工,在csdn的下载地址为:去下载地址 ,假设左边地址跪了,能够去http://download.csdn.n ...
- 阿里官方Java代码规范标准《阿里巴巴Java开发手册 终极版 v1.3.0》
终极版 v1.3.0 2017年开春之际,阿里诚意献上重磅大礼:<阿里巴巴Java开发手册>,首次公开阿里官方Java代码规范标准.这套Java统一规范标准将有助于提高行业编码规范化水平, ...
- 【CC2530入门教程-增强版】基础技能综合实训案例(基础版)-上位机源码
[CC2530入门教程-增强版]基础技能综合实训案例(基础版)-上位机源码 广东职业技术学院 欧浩源 一.需求分析 按照指定参数打开串口,与测控终端建立数据传输通道,并根据应用要求实现程序逻辑,具体 ...
- python3 购物车 增改查终极版~
还是先来条NLP再说,快没了,以后想抄还没有... 十一,没有挫败,只有回应讯息 “挫败”只是指出过去的做法得不到预期的效果,是给我们需要改变的信号. “挫败”只是在事情画上句号时才能用上,欲想事情解 ...
随机推荐
- hello Kotlin!
听说谷爹要把Kotlin作为了Android开发的一级语言,吓得我赶紧写个“Hello Kotlin!”压压惊! Kotlin是由JetBrains 公司开发的语言,并且已经开源.而JetBrains ...
- SparkMLlib学习之线性回归
SparkMLlib学习之线性回归 (一)回归的概念 1,回归与分类的区别 分类模型处理表示类别的离散变量,而回归模型则处理可以取任意实数的目标变量.但是二者基本的原则类似,都是通过确定一个模型,将输 ...
- Ajax02 json
1 什么是json JavaScript Object Notation(JavaScript 对象表示法) 是一种轻量级的数据交换格式. 注: 数据交换:将数据先转换成一种与平台无关的数据 格式(比 ...
- javascript获取json对象的key名称的两种方法
javascript获取json对象的key名称的两种方法 数据处理中,你可能接收到一个不确定内容格式的json对象,然后要把key的值提取出来.今天试过两种可以提取json key的方法,均可以正常 ...
- VR全景智慧城市-提前进入商家观景,涵盖实体行业
互联网发展的迅猛势头,让很多的实体商家翻了个大跟头,更有言说,未来的大街小巷根本见不到逛街的人,可是线上商城相继曝出的假货谁来买单?相比之下眼见为实更让消费者心里觉得踏实.所以,全景智慧城市更能满足大 ...
- 使用ConcurrentDictionary替代Hashtable对多线程的对象缓存处理
在之前一段时间里面,我的基类多数使用lock和Hashtable组合实现多线程内缓存的冲突处理,不过有时候使用这两个搭配并不尽如人意,偶尔还是出现了集合已经加入的异常,对代码做多方的处理后依然如故,最 ...
- Android Studio 工具栏添加常用按钮
本文中 Android Studio 的版本为 android Studio 2.2 ,操作系统为 Windows,如有操作不同,可能是版本差异.在工具栏中添加一些常用的按钮,如设置.DDMS,有利于 ...
- windows手动搭建Kotlin命令行环境
kotlin官网:https://kotlinlang.org 我们可以从GitHub下载.目前最新版本是1.1.2-5 https://github.com/JetBrains/kotlin/rel ...
- 说说ajax上传数据和接收数据
我是一个脑袋不太灵光的人,所以遇到问题,厚着脸皮去请教大神的时候,害怕被大神鄙视,但是还是被鄙视了.我说自己不要点脸面,那是不可能的,但是,为了能让自己的技术生涯能走的更长远一些,受点白眼,受点嘲笑也 ...
- Azure 认知服务 (2) 计算机视觉API - 分析图像
<Windows Azure Platform 系列文章目录> 在上一节内容中,笔者介绍了微软认知服务的概览. 在本节中,笔者将详细介绍微软认知服务中的一种:计算机视觉 (Computer ...