本教程使用的打印机型号: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命令。

32位系统

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

64位系统

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

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>

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("94", "25", "4", "8", "0", "3.5", "0");

// 清除缓冲信息

TSCLIB_DLL.clearbuffer();

// 发送 TSPL 指令.

// 设置 打印的方向.

TSCLIB_DLL.sendcommand("DIRECTION 1");

// 打印文本信息.

// 在 (176, 16) 的坐标上

// 字体高度为34

// 旋转的角度为 0 度

// 2 表示 粗体.

// 文字没有下划线.

// 字体为 黑体.

// 打印的内容为:title

TSCLIB_DLL.windowsfont(176, 16, 34, 0, 2, 0, "宋体", title);

// 打印条码.

// 在 (176, 66) 的坐标上

// 以 Code39 的条码方式

// 条码高度 130

// 打印条码的同时,还打印条码的文本信息.

// 旋转的角度为 0 度

// 条码 宽 窄 比例因子为 7:12

// 条码内容为:barCode

TSCLIB_DLL.barcode("176", "66", "39", "130", "1", "0", "7", "12", barCode);

// 打印.

TSCLIB_DLL.printlabel("1", "1");

// 关闭 打印机 端口

TSCLIB_DLL.closeport();

}

#endregion

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();

}

}

C#调用TSC条码打印机打印二维码

#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("94", "25", "4", "8", "0", "3.5", "0");

// 清除缓冲信息

TSCLIB_DLL.clearbuffer();

// 发送 TSPL 指令.

// 设置 打印的方向.

TSCLIB_DLL.sendcommand("DIRECTION 1");

#region 请求sendcommand指令,打印二维码

//功能:繪製QRCODE二維條碼

//語法:

//QRCODE X, Y, ECC Level, cell width, mode, rotation, [model, mask,]"Data string”

//參數說明

//X QRCODE條碼左上角X座標

//Y QRCODE條碼左上角Y座標

//ECC level 錯誤糾正能力等級

//L 7%

//M 15%

//Q 25%

//H 30%

//cell width 1~10

//mode 自動生成編碼/手動生成編碼

//A Auto

//M Manual

//rotation 順時針旋轉角度

//0 不旋轉

//90 順時針旋轉90度

//180 順時針旋轉180度

//270 順時針旋轉270度

//model 條碼生成樣式

//1 (預設), 原始版本

//2 擴大版本

//mask 範圍:0~8,預設7

//Data string 條碼資料內容

#endregion

string command = "QRCODE 176,8,Q,8,A,0,M2,S7,\"" + barCode + "\"";

TSCLIB_DLL.sendcommand(command);

// 打印文本信息.

// 在 (176, 8) 的坐标上

// 字体高度为34

// 旋转的角度为 0 度

// 2 表示 粗体.

// 文字没有下划线.

// 字体为 黑体.

// 打印的内容为:title

//---------------------------------根据需要再添加

//TSCLIB_DLL.windowsfont(176, 8, 34, 0, 2, 0, "宋体", title);

// 打印条码.

// 在 (176, 66) 的坐标上

// 以 Code39 的条码方式

// 条码高度 130

// 打印条码的同时,还打印条码的文本信息.

// 旋转的角度为 0 度

// 条码 宽 窄 比例因子为 7:12

// 条码内容为:barCode

//TSCLIB_DLL.barcode("176", "66", "39", "130", "1", "0", "7", "12", barCode);

// 打印.

TSCLIB_DLL.printlabel("1", "1");

// 关闭 打印机 端口

TSCLIB_DLL.closeport();

}

#endregion

C#调用TSC条码打印机打印条码

#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("94", "25", "4", "8", "0", "3.5", "0");

// 清除缓冲信息

TSCLIB_DLL.clearbuffer();

// 发送 TSPL 指令.

// 设置 打印的方向.

TSCLIB_DLL.sendcommand("DIRECTION 1");

// 打印文本信息.

// 在 (176, 16) 的坐标上

// 字体高度为34

// 旋转的角度为 0 度

// 2 表示 粗体.

// 文字没有下划线.

// 字体为 黑体.

// 打印的内容为:title

TSCLIB_DLL.windowsfont(176, 16, 34, 0, 2, 0, "宋体", title);

// 打印条码.

// 在 (176, 66) 的坐标上

// 以 Code39 的条码方式

// 条码高度 130

// 打印条码的同时,还打印条码的文本信息.

// 旋转的角度为 0 度

// 条码 宽 窄 比例因子为 7:12

// 条码内容为:barCode

TSCLIB_DLL.barcode("176", "66", "39", "130", "1", "0", "7", "12", barCode);

// 打印.

TSCLIB_DLL.printlabel("1", "1");

// 关闭 打印机 端口

TSCLIB_DLL.closeport();

}

#endregion

如果运行报错UnsatisfiedLinkError: Unable to load library “TSCLIB”...可以尝试把JDK换成32位版本。

在调用过程中有不明白的地方看TSPL2说明书,上面有详细的指令用法以及参数说明!!!

 

权昌TSC条码打印机终极使用教程与开发版本代码大全的更多相关文章

  1. TSC条码打印机C#例程(tsclib.dll调用)

    TSC条码打印机C#例程(tsclib.dll调用) //----  program.cs using System;using System.Collections.Generic;using Sy ...

  2. BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备

    上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很 ...

  3. percona-toolkit工具包的使用教程之开发类工具

    percona-toolkit工具包的使用教程之开发类工具 1.  pt-duplicate-key-checker l  功能介绍: 功能为从mysql表中找出重复的索引和外键,这个工具会将重复的索 ...

  4. ASP.NET MVC 5 学习教程:生成的代码详解

    原文 ASP.NET MVC 5 学习教程:生成的代码详解 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 ...

  5. 前端测试框架Jest系列教程 -- Asynchronous(测试异步代码)

    写在前面: 在JavaScript代码中,异步运行是很常见的.当你有异步运行的代码时,Jest需要知道它测试的代码何时完成,然后才能继续进行另一个测试.Jest提供了几种方法来处理这个问题. 测试异步 ...

  6. 深度学习标注工具 LabelMe 的使用教程(Windows 版本)

    深度学习标注工具 LabelMe 的使用教程(Windows 版本) 2018-11-21 20:12:53 精灵标注助手:http://www.jinglingbiaozhu.com/ LabelM ...

  7. yii2 支付宝支付教程 [ 2.0 版本 ]

    yii2 支付宝支付教程 [ 2.0 版本 ] 支付宝支付流程个人理解大致就这三步1.前台页面将支付信息数据通过立即支付按钮 ajax提交到订单处理层2.在订单处理层引用支付宝的接口 将支付数据写入 ...

  8. Laravel 教程 - Web 开发实战入门 ( Laravel 5.5 )购买链接

      Laravel 教程 - Web 开发实战入门 ( Laravel 5.5 )购买链接: 推荐给你高品质的实战课程 https://laravel-china.org/courses?rf=158 ...

  9. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  10. iOS Sprite Kit教程之编敲代码以及Xcode的介绍

    iOS Sprite Kit教程之编敲代码以及Xcode的介绍 Xcode界面介绍 一个Xcode项目由非常多的文件组成,比如代码文件.资源文件等.Xcode会帮助开发人员对这些文件进行管理.所以,X ...

随机推荐

  1. 2023 年 CCF 春季测试赛模拟赛 - 2 题解

    T1 约数和 标准解法 \(n = a_1^{b_1} \times a_2^{b_2} \dots a_k^{b_k}\) 那么根据算术基本定理的推广,约数个数和约数和都是可以快速计算得到 约数和 ...

  2. TensorFlow中的Variable 变量

    简单运用 这节课我们学习如何在 Tensorflow 中使用 Variable . 在 Tensorflow 中,定义了某字符串是变量,它才是变量,这一点是与 Python 所不同的. 定义语法: s ...

  3. [CSS]隐藏浏览器滚动条

    ::-webkit-scrollbar {   display: none; /* Chrome Safari */ }

  4. XYZtoZXY

    Quaternion XYZtoZXY(Vector3 p) { Vector3 v = new Vector3(p.x, -p.y, -p.z); Quaternion qx = Quaternio ...

  5. Windows 脚本放到 Linux 服务器不生效的问题 /bin/bash^M: bad interpreter: No such file or directory

    在windows编辑shell脚本后,由于文件格式原因,在linux下运行报错 有三个方法 1.在windows下,使用notepad++,将文件格式改为unix就可以了 2.在linux下,使用vi ...

  6. Java使用Calendar获取月最大天数

    Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar ...

  7. 【易语言】exui超级列表框使用方法

    优秀例程1 黑鸟 https://jiucaiwl.lanzoum.com/iLq8B0oswkuf

  8. MySQL数据库SQL语法常规操作

    必备sql和表关系及授权 graph LR 执行1[必备sql和授权] 执行2[SQL强化和实践] 执行3[索引和函数以及存储过程] 执行4[Python操作mysql和应用] 执行5[常见SQL语句 ...

  9. jekins+svn

    1.jekins安装可以看jekins+shell随笔. 2.安装svn. yum -y install subversion 3.配置相关文件 mkdir   家目录 cd 到家目录修改conf下三 ...

  10. Python_基础_Print_输出函数

    输出函数print() print()函数: 功能:向目的地输出内容 输出的内容:数字.字符串.表达式 目的地:IDLE.控制台.文件 print()函数可以输出些什么内容? 数字 字符串(用单引号和 ...