posXprinter

概述

芯烨pos简介

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

posXprinter 模块概述

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

模块接口

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 posXprinter = api.require('posXprinter');
posXprinter.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 posXprinter = api.require('posXprinter');
posXprinter.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 posXprinter = api.require('posXprinter');
posXprinter.disconnect();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

print

打印

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

params

content

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

callback(ret, err)

示例代码

var posXprinter = api.require('posXprinter');
posXprinter.print({
    content:[
        {
            <!--打印并向前走纸 n 行-->
            feedLine:1 //打印并向前走纸 n 行 默认1 int
        },
        {
            <!--设置切纸后蜂鸣 ios-->
            setCutterAndBeeper:{
                count:1, //蜂鸣次数 int
                interval:20, //蜂鸣间隔 * 50ms int
            }
        },
        {
            <!--切纸 android-->
            cutPaper:1 //int
            <!--0 全切-->
            <!--1 半切-->
        },
        {
            <!--半切纸 android-->
            cutHalfAndFeed:6 // 进纸 distance ×(纵向移动单位)英寸 并且半切纸 int
        },
        {
            <!--打开钱箱抽屉-->
            openCashBox:{
                pinNum:2, //连接的引脚 0=引脚2 1=引脚5 int
                onTime:30,  //钱箱产生脉冲开始时间 onTime*2ms,范围【0,255】。默认值为 30 int
                offTime:255,  //钱箱产生脉冲结束时间 offTime*2ms,范围【0,255】,默认值为 255如果 onTime>offTime,结束时间为 onTime*2ms。 int
            },
        },
        {
            <!--设置将打印内容传输给打印机所采用的字符编码,默认编码为“gbk”-->
            <!--android-->
            setCharSet:"gbk"
        },

        {
            <!--设置字体信息-->
            <!--android-->
            setTextStyle:{
                attribute:0, //文本的属性,默认为 FNT_DEFAULT int
                <!--FNT_DEFAULT = 0;-->
                <!--FNT_FONTB = 1;-->
                <!--FNT_BOLD = 8;-->
                <!--FNT_REVERSE = 16;-->
                <!--FNT_UNDERLINE = 128;-->
                <!--FNT_UNDERLINE2 = 256;-->
                textSize:0, //打印的文本字体大小,默认为 TXT_1WIDTH|TXT_1HEIGHT【0~15】 int
            },
        },
        {
            <!--设置文本的对齐方式-->
            setAlignment:0 //文本的对齐方式,默认为 ALIGNMENT_LEFT int
            <!--ALIGNMENT_LEFT = 0;-->
            <!--ALIGNMENT_CENTER = 1;-->
            <!--ALIGNMENT_RIGHT = 2;-->
        },
        {
            <!--设置打印区域-->
            setPrintArea:{
                x:0, //横向起始位置,默认为 0 int
                y:0, //纵向起始位置,默认为 0 int
                width:0, //区域宽度 int
                height:0 //区域高度 int
            }
        },
        {
            <!--开启或者关闭页模式-->
            setPageModel:false //true 表示开启页模式,false 表示关闭页模式  bool
        },
        {
            <!--打印页模式下的数据,并回到标准模式。-->
            printPageModelData:true //true bool
        },
        {
            <!--设置页模式下的打印区域方向-->
            <!--android-->
            setPrintDirection:0 //打印方向 int
            <!--DIRECTION_LEFT_TOP = 0;-->
            <!--DIRECTION_LEFT_BOTTOM = 1;-->
            <!--DIRECTION_RIGHT_BOTTOM = 2;-->
            <!--DIRECTION_RIGHT_TOP = 3;-->
        },
        {
            <!--设置绝对打印位置-->
            setAbsolutePrintPosition:{
                x:0
                y:0
            }
        },
        {
            <!--页模式下设置纵向绝对位置-->
            setRelativePrintPosition:{
                x:0
                y:0
            }
        },
        {
            <!--设置横向绝对打印位置-->
            setAbsoluteHorizontal:0 //开始的位置
        },
        {
            <!--设置相对横向打印位置-->
            setRelativeHorizontal:0 //开始的位置
        },
        {
            <!--页模式下设置纵向绝对位置-->
            setAbsoluteVertical:0 //开始的位置
        },
        {
            <!--页模式下设置纵向相对位置-->
            setRelativeVertical:0 //开始的位置
        },
        {
            <!--选择字符代码表-->
            selectCodePage:0 //  int

        },
        {
            <!--选择字体-->
            selectCharacterFont:0  //  int
        },
        {
            <!--设置字符的右间距-->
            setCharRightSpace:""  // 右间距距离为[n×横向移动单位或纵向移动单位]英寸。 hex  string
        },
        
        {
            <!--该方法用于发送数据到打印机。-->
            sendData:{
                data:[
                    "ssssssssss", //打印内容 hex格式  string
                    "ssssssssss",//打印内容 hex格式  string
                ]
            },
        },
        {
            <!--普通文本-->
            printString:"" //打印内容 string
        },
        {
            <!--特定格式的文本打印-->
            printText:{
                alignment:0, //文本的对齐方式,默认为 ALIGNMENT_LEFT (注:使用对齐方式时,data 需以”\n”结尾,否则有可能会无效。) int
                <!--ALIGNMENT_LEFT = 0;-->
                <!--ALIGNMENT_CENTER = 1;-->
                <!--ALIGNMENT_RIGHT = 2;-->
                
                <!--android-->
                attribute:0, //文本的属性,默认为 FNT_DEFAULT int
                <!--FNT_DEFAULT = 0;-->
                <!--FNT_FONTB = 1;-->
                <!--FNT_BOLD = 8;-->
                <!--FNT_REVERSE = 16;-->
                <!--FNT_UNDERLINE = 128;-->
                <!--FNT_UNDERLINE2 = 256;-->
                
                <!--android-->
                textSize:0, //打印的文本字体大小,默认为 TXT_1WIDTH|TXT_1HEIGHT【0~15】 int
                
                data:"", //文本内容 string
            }
        },
        {
            <!--打印一维条码-->
            printBarCode:{
                <!--android-->
                codeType:"", //条码类型 string
                <!--BCS_UPCA = 65;-->
                <!--BCS_UPCE = 66;-->
                <!--BCS_EAN8 = 68;-->
                <!--BCS_EAN13 = 67;-->
                <!--BCS_JAN8 = 68;-->
                <!--BCS_JAN13 = 67;-->
                <!--BCS_ITF = 70;-->
                <!--BCS_Codabar = 71;-->
                <!--BCS_Code39 = 69;-->
                <!--BCS_Code93 = 72;-->
                <!--BCS_Code128 = 73;-->

                height: 162, //条码高度,范围【1,255】 默认 162 int
                width: 3, //条码横向模块宽度,范围【2,6】,默认 3 int
                alignment:0, //文本的对齐方式,默认为 ALIGNMENT_LEFT int
                <!--ALIGNMENT_LEFT = 0;-->
                <!--ALIGNMENT_CENTER = 1;-->
                <!--ALIGNMENT_RIGHT = 2;-->
                
                textPosition:2, //为 HRI 字符选择打印的位置。默认为 HRI_TEXT_BELOW。 int
                <!--HRI_TEXT_NONE = 0;-->
                <!--HRI_TEXT_ABOVE = 1;-->
                <!--HRI_TEXT_BELOW = 2;-->
                <!--HRI_TEXT_BOTH = 3;-->
                data:"", //条码字符串 string
            }
        },
        
        {
            <!--打印二维码-->
            printQRCode:{
                ecLevel:"L", //错误纠正能力等级 string
                <!--EC_LEVEL_L = "L";-->
                <!--EC_LEVEL_M = "M";-->
                <!--EC_LEVEL_Q = "Q";-->
                <!--EC_LEVEL_H = "H";-->
                moduleSize:8, //单元大小,范围【1,16】,默认值 8 int
                alignment:0, //文本的对齐方式,默认为 ALIGNMENT_LEFT int
                <!--ALIGNMENT_LEFT = 0;-->
                <!--ALIGNMENT_CENTER = 1;-->
                <!--ALIGNMENT_RIGHT = 2;-->
                data:"", //二维码资料内容 string
            }
        },
        
        {
            <!--打印图片文件-->
            printBitmap:{
                width:0, //图片的打印宽度 int
                path:"", //图片的路径 【widget:// fs://】 string
                alignment:0, //文本的对齐方式,默认为 ALIGNMENT_LEFT int
                <!--ALIGNMENT_LEFT = 0;-->
                <!--ALIGNMENT_CENTER = 1;-->
                <!--ALIGNMENT_RIGHT = 2;-->
                
                model:0, //打印模式 int
                <!--BMP_NORMAL = 0;-->
                <!--BMP_WIDTH_DOUBLE = 1;-->
                <!--BMP_HEIGHT_DOUBLE = 2;-->
                <!--BMP_WIDTH_HEIGHT_DOUBLE = 3;-->

            }
        },
        
    ]
}, function(ret, err) {

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

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