tsplXprinter

概述

芯烨tspl简介

珠海芯烨电子科技有限公司是一家集研发、生产、销售、服务于一体的国际化打印机企业,主营热敏票据打印机、条码打印机、针式打印机、便携打印机、嵌入式打印机、安卓打印机、个人/家庭智能打印及相关机芯核心零部件产品,是国内该行业领域极具竞争力的专业化、规模化企业,并致力于成为全球领域的打印机产品制造商与服务商。

tsplXprinter 模块概述

本模块封装了芯烨tspl的原生 SDK,集成了tspl 打印相关功能;

模块接口

connect

连接

connect({params},callback(ret, err))

params

type

  • 类型:整型
  • 描述:连接方式 0=BLE,1=NET,2=MAC,3=USB,4=SERIAL串口

device

  • 类型:字符串
  • 描述:BLE

ip

  • 类型:字符串
  • 描述:NET

port

  • 类型:字符串
  • 描述:NET

address

  • 类型:字符串
  • 描述:USB

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    eventType: 'onSuccess', //事件类型  onSuccess onFailed
    msg: "onSuccess",//描述
    result:{ //其他结果数据

    }
}

示例代码

var tsplXprinter = api.require('tsplXprinter');
tsplXprinter.connect({
    type:0, //0=BLE,1=NET,2=USB
    
    //0
    device:"",

    //1
    ip:"",
    port:"",
    
    //2
    address:"",
},function(ret, err) {
    if (ret.status) {
        alert("连接成功");
    } else {
        alert('连接失败');
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isconnect

是否连接

isconnect({params}, callback(ret, err))

params

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    eventType: 'onSuccess', //事件类型  onSuccess onFailed
    msg: "onSuccess",//描述
    result:{ //其他结果数据

    }
}

示例代码

var tsplXprinter = api.require('tsplXprinter');
tsplXprinter.isconnect({
},function(ret, err) {
    if (ret.status) {
        var code = ret.code;//状态码
        alert("已连接");
    } else {
        alert('未连接');
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

disconnect

断开连接

disconnect({params}, callback(ret, err))

params

callback(ret, err)

示例代码

var tsplXprinter = api.require('tsplXprinter');
tsplXprinter.disconnect();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

print

打印

print({params}, callback(ret, err))

params

content

  • 类型:数组
  • 描述:打印内容

callback(ret, err)

示例代码

var tsplXprinter = api.require('tsplXprinter');
tsplXprinter.print({
    content:[
        {
            <!--设置标签(尺寸单位为英寸)-->
            sizeInch:{
                width:0, //尺寸宽度 int
                height:0  //尺寸高度 int
            },
            <!--设置标签(尺寸单位为 mm)-->
            sizeMm:{ 
                width:0, //尺寸宽度 int
                height:0  //尺寸高度 int
            }
        },
        {
            <!--标签间距(尺寸单位为英寸)-->
            sizeInch:{
                m:0, //间隙高度 int
                n:0  //间隙高度的补偿值 int
            },
            <!--标签间距(尺寸单位为 mm)-->
            sizeMm:{
                m:0, //间隙高度 int
                n:0  //间隙高度的补偿值 int
            }
        },
        {
            <!--打印速度-->
            speed:0 //每秒的打印速度,以英寸计算 double
        },
        {
            <!--打印浓度-->
            density:0 //浓度, 范围【0, 15】 int
        },
        {
            <!--清空打印缓冲区-->
            cls:true // bool
        },
        {
            <!--打印完后额外推出的长度(长度单位为英尺)-->
            offsetInch:0, //推出的长度,范围【-1, 1】 double
            <!--打印完后额外推出的长度(长度单位为 mm尺)-->
            offsetMm:0, //推出的长度 double
        },
        {
            <!--设置打印方向-->
            direction:{
                direction:0,//打印的方向 0=向前,1=反向 int
                isMirror:true,//是否镜像 bool
            }
        },
        {
            <!--推进对应的长度-->
            feed:0 //走纸长度,单位为点。范围【1,9999】 int
        },
        {
            <!--原点坐标-->
            reference:{
                x:0, //水平坐标 单位为点 int
                y:0 //垂直坐标,单位为点 int
            }
        },
        {
            <!--绘制长条-->
            bar:{
                x:0, //长条起始横坐标,单位为点 int
                y:0, //长条起始纵坐标,单位为点 int
                width:0, //长条宽度,单位为点 int
                height:0 //长条高度,单位为点 int
            }
        },
        {
            <!--绘制矩形-->
            bar:{
                x:0, //矩形起始横坐标,单位为点 int
                y:0, //矩形起始纵坐标,单位为点 int
                width:0, //矩形宽度,单位为点 int
                height:0, //矩形高度,单位为点 int
                thickness:0 // 线条宽度 int
            }
        },
        {
            <!--向后回拉指定的长度-->
            backFeed:0 //回拉长度,单位为点。范围【1,9999】】 int
        },
        {
            <!--向前推送一张标签纸的距离-->
            formFeed:true // bool
        },
        {
            <!--位置进行校准-->
            home:true // bool
        },
        {
            <!--加入打印指令,并且发送缓冲区的内容,清空缓冲区-->
            print:1 // 打印次数,默认为 1 int
        },
        {
            <!--国际代码页-->
            codePage:"UTF-8" // 国际代码页 string

        },
        {
            <!--控制蜂鸣器发声-->
            sound:{
                level:0, //声音阶级,范围【0,9】 int
                interval:0 //每次发声时间及两次发声的间隔时间,单位 ms。范围【1~4095】 int
            }
        },
        {
            <!--限定间隙校正执行的最大长度,若在此长度范围内无法测得间隙存在,则将感应器模式定在连续纸模式下。-->
            <!--长度单位为英尺-->
            limitFeedInch:0, //限定长度 int
            <!--长度单位为 mm-->
            limitFeedMm:0, //限定长度 int
        },
        {
            <!--擦除指定区域的数据-->
            erase:{
                x:0, //区域起始横坐标 int
                y:0, //区域起始纵坐标 int
                width:0, //区域宽度 int
                height:0, //区域高度 int
            }
        },
        {
            <!--将指定区域的数据黑白反向显示-->
            reverse:{
                x:0, //区域起始横坐标 int
                y:0, //区域起始纵坐标 int
                width:0, //区域宽度 int
                height:0, //区域高度 int
            }
        },
        {
            <!--切纸-->
            cut:true //bool
        },
        {
            <!--设定启动/关闭自动剥纸器功能。预设值为关闭状态,当此功能被开启时,打印机会在每
印完一张时即暂停,直到标签纸被取走后才会打印下一张标签。-->
            setPeel:true
        },
        {
            <!--设定开启/关闭送纸至撕纸线的功能-->
            setTear:true //bool
        },
        {
            <!--设定黑标高度及使用者定义标签印完后标签额外送出的长度-->
            <!--单位为英尺-->
            blineInch:{
                m:0, //黑标高度,范围:【0.1, 1】英尺 double
                n:0 //黑标高度,范围:【0.1, 1】英尺 double
            },
            <!--单位为 mm-->
            blineMm:{
                m:0, //黑标高度,范围:【2.54,25.4】毫米 double
                n:0 //黑标高度,范围:【2.54,25.4】毫米 double
            }
        },
        {
            <!--设置将打印内容传输给打印机所采用的字符编码,默认编码为“gbk”-->
            setCharSet:"gbk"
        },
        {
            <!--该方法用于发送数据到打印机。-->
            sendData:{
                data:[
                    "ssssssssss", //打印内容 hex格式  string
                    "ssssssssss",//打印内容 hex格式  string
                ]
            },
        },
        
        {
            <!--绘制文本-->
            text:{
                x:0, //文本的起始 X 值 int
                y:0, //文本的起始 y 值 int
                
                font:"TSS24.BF2", //矩形起始纵坐标,单位为点 string
                <!--1=FNT_8_12 8 x 12 英数字体-->
                <!--2=FNT_12_20 12 x 20 英数字体-->
                <!--3=FNT_16_24 16 x 24 英数字体-->
                <!--4=FNT_24_32 24 x 32 英数字体-->
                <!--5=FNT_32_48 32 x 48 英数字体-->
                <!--6=FNT_14_19 14 x 19 英数字体 OCR-B-->
                <!--7=FNT_14_25 14 x 25 英数字体 OCR-A-->
                <!--8=FNT_21_27 21 x 27 英数字体 OCR-B-->
                <!--TSS24.BF2=FNT_SIMPLIFIED_CHINESE 简体中文 24x24 字体(GB 码)-->
                <!--TST24.BF2=FNT_TRADITIONAL_CHINESE 繁体中文 24x24 字体(大五码)-->
                <!--K=FNT_KOREAN 韩文 24x24 字体(KS 码)-->

                rotation:0, //顺时针旋转角度 范围【0 90 180 270】 int
                xRatio:0, //文本的起始 y 值 int
                yRatio:0, //字体纵向放大倍数,范围【1,10】 int
                content:"", //文本内容 string
            }
        },
        
        {
            <!--绘制一维条码-->
            barcode:{
                x:0, //条码起始点横坐标,单位为点 int
                y:0, //条码起始点纵坐标,单位为点 int
                
                codeType:"", //条码类型 string
                <!--CODE_TYPE_128 = "128";-->
                <!--CODE_TYPE_128M = "128M";-->
                <!--CODE_TYPE_EAN128 = "EAN128";-->
                <!--CODE_TYPE_25 = "25";-->
                <!--CODE_TYPE_25C = "25C";-->
                <!--CODE_TYPE_39 = "39";-->
                <!--CODE_TYPE_39C = "39C";-->
                <!--CODE_TYPE_93 = "93";-->
                <!--CODE_TYPE_EAN13 = "EAN13";-->
                <!--CODE_TYPE_EAN13_2 = "EAN13+2";-->
                <!--CODE_TYPE_EAN13_5 = "EAN13+5";-->
                <!--CODE_TYPE_EAN8 = "EAN8";-->
                <!--CODE_TYPE_EAN8_2 = "EAN8+2";-->
                <!--CODE_TYPE_EAN8_5 = "EAN8+5";-->
                <!--CODE_TYPE_CODA = "CODA";-->
                <!--CODE_TYPE_POST = "POST";-->
                <!--CODE_TYPE_UPCA = "UPCA";-->
                <!--CODE_TYPE_UPCA_2 = "UPCA+2";-->
                <!--CODE_TYPE_UPCA_5 = "UPCA+5";-->
                <!--CODE_TYPE_UPCE = "UPCE";-->
                <!--CODE_TYPE_UPCE_2 = "UPCE+2";-->
                <!--CODE_TYPE_UPCE_5 = "UPCE+5";-->
                <!--CODE_TYPE_CPOST = "CPOST";-->
                <!--CODE_TYPE_MSI = "MSI";-->
                <!--CODE_TYPE_MSIC = "MSIC";-->
                <!--CODE_TYPE_PLESSEY = "PLESSEY";-->
                <!--CODE_TYPE_ITF14 = "ITF14";-->
                <!--CODE_TYPE_EAN14 = "EAN14";-->
                <!--CODE_TYPE_11 = "11";-->
                <!--CODE_TYPE_TELEPEN = "TELEPEN";-->
                <!--CODE_TYPE_TELEPENN = "TELEPENN";-->
                <!--CODE_TYPE_PLANET = "PLANET";-->
                <!--CODE_TYPE_CODE49 = "CODE49";-->
                <!--CODE_TYPE_DPI = "DPI";-->
                <!--CODE_TYPE_DPL = "DPL";-->

                height:0, //条码高度,单位为点 int
                readable:1, //是否打印可识别字符, int
                <!--0 不显示可识别字符-->
                <!--1 显示在左边-->
                <!--2 显示再中间-->
                <!--3 显示再右边-->
                rotation:0, //顺时针旋转角度 范围【0 90 180 270】 int
                narrow:2, //窄条码比例因子,单位为点, 默认为 2 int
                wide:2, //宽条码比例因子,单位为点,默认为 2 int
                content:"", //条码内容 string
            }
        },
        
        {
            <!--绘制二维条码-->
            qrcode:{
                x:0, //二维码起始横坐标 X 值 int
                y:0, //二维码起始纵坐标 y 值 int
                ecLevel:"L", //错误纠正能力等级 string
                <!--EC_LEVEL_L = "L";-->
                <!--EC_LEVEL_M = "M";-->
                <!--EC_LEVEL_Q = "Q";-->
                <!--EC_LEVEL_H = "H";-->
                cellWidth:1, //单元格大小,范围【1,10】 int
                mode:"A", //生成编码模式 string
                <!--A 自动生成编码-->
                <!--M 手动生成编码-->
                rotation:0, //顺时针旋转角度 范围【0 90 180 270】 int
                model:"M1", //string
                <!--M1 (默认), 原始版本-->
                <!--M2 扩大版本 (大部分的智能手机支持此版本)-->
                mask:"S7", // S0~S8, 默认为 S7 string
                data:"", //二维码资料内容 string
            }
        },
        
        {
            <!--绘制图片-->
            bitmap:{
                x:0, //图片起始横坐标 X 值 int
                y:0, //图片起始纵坐标 y 值 int
                model:0, //绘制图片的方式 【0 1 2】 int
                width:0, //图片的打印宽度 int
                path:"", //图片的路径 【widget:// fs://】 string
                algorithmType:"Threshold", //算法类型。默认使用 Threshold 【Threshold Dithering】 string
            }
        },
        
    ]
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/04/24