更新记录

1.0.0(2021-12-14)

插件发布


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 11.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


概述

  • 支持打印图片
  • 支持打印条形码
  • 支持打印二维码
  • 支持打印文字

温馨提示 如何调用插件

    var getModel = uni.requireNativePlugin("yuange-YGUSBPrintModule");

打印图片

                  getModel.callNativePrintDiskImagefile({
                        //图片路径
                        'picFilePath': '传入图片路径,例如:/sdcard/aaa.jpg',
                    },
                    (ret) => {

                    })

打印条形码

                /**
                 * 打印一维条码
                 * @param iWidth    条码宽度,取值2-6 单位0.125mm
                 * @param iHeight   条码高度,取值1-255 单位0.125mm
                 * @param iHrisize  条码显示字符字型0 12*24 1 9*17
                 * @param iHriseat  条码显示字符位置0 无、1 上、 2 下、3 上下
                 * @param iCodetype 条码的类型(UPC-A 0,UPC-E 1,EAN13 2,EAN8 3, CODE39 4,
                 *                            ITF 5,CODABAR 6,Standard EAN13 7,
                 *                            Standard EAN8 8,CODE93 9,CODE128 10)
                 * @param strData  条码内容
                 */
                var ret = getModel.callNativePrint1Dbar({
                        'iWidth': 5,
                        'iHeight': 50,
                        'iHrisize': 0,
                        'iHriseat': 0,
                        'iCodetype': 0,
                        'strData': '1111111111',
                    },
                    (ret) => {})

打印二维码

                /**
                 * 打印QR码
                 * @param strData  内容
                 * @param iLmargin 左边距,取值0-27 单位mm
                 * @param iMside   单位长度,即QR码大小,取值1-8,(有些打印机型只支持1-4)
                 * @param iRound   环绕模式,1 环绕(混排,有些机型不支持)、0立即打印(不混排)
                 */
                var ret = getModel.callNativePrintQrcode({
                        'iLmargin': 1,
                        'iMside': 3,
                        'iRound': 0,
                        'strData': '11111111111',
                    },
                    (ret) => {})

打印文本

                /**
                 * 打印字符串
                 * @param strData 打印的字符串内容
                 * @param iImme   是否加换行指令0x0a: 0 加换行指令,1 不加换行指令
                 */
                var ret = getModel.callNativePrintString({
                        'strData': '1111111',
                        'iImme': 0,
                    },
                    (ret) => {

                    })

通用发送指令

                //例如:设置字体加粗
                var bCmd = new Array(3);
                bCmd[0]=0x1B;
                bCmd[1]=0x47;
                bCmd[2]=1;
                /**
                 * 通用发送打印指令
                 * command:指令
                 */
                getModel.callNativePrintSendCommand({
                        'command': bCmd,
                });

打印小票示例

                /**
                 * 打印进入汉字模式
                 */
                getModel.callNativePageTypeSetInit();

                /**
                 * 打印细走纸
                 * @param Lnumber  范围 0-250
                 */
                getModel.callNativePrintFeedDot({
                    'Lnumber': 1,
                });

                /**
                 * 打印字符串
                 * @param strData 打印的字符串内容
                 * @param iImme   是否加换行指令0x0a: 0 加换行指令,1 不加换行指令
                 */
                getModel.callNativePrintString({
                    'strData': '店号:8888          机号:100001',
                    'iImme': 0,
                });
                getModel.callNativePrintString({
                    'strData': '电话:0755-12345678',
                    'iImme': 0,
                });
                getModel.callNativePrintString({
                    'strData': '-------------------------------',
                    'iImme': 0,
                });
                getModel.callNativePrintString({
                    'strData': '怡宝矿泉水    2.00',
                    'iImme': 0,
                });
                getModel.callNativePrintString({
                    'strData': '百事可乐(罐装) 2.00',
                    'iImme': 0,
                });
                /**
                 * 执行到下一个水平制表位置
                 *     描述:执行到下一个水平制表位置
                 */
                getModel.callNativePrintNextHT();

                getModel.callNativePrintString({
                    'strData': '应付    4.00',
                    'iImme': 0,
                });

                /**
                 * 打印走纸
                 * @param iLine 走纸行数
                 * 描述:走纸,单位字符行
                 */
                getModel.callNativePrintFeedline({
                    'iLine': 5,
                });

                /**
                 * 打印切纸
                 * @param iMode 0 全切,1半切
                 */
                getModel.callNativePrintCutpaper({
                    'iMode': 1,
                });

                /**
                 * 打印QR码
                 * @param strData  内容
                 * @param iLmargin 左边距,取值0-27 单位mm
                 * @param iMside   单位长度,即QR码大小,取值1-8,(有些打印机型只支持1-4)
                 * @param iRound   环绕模式,1 环绕(混排,有些机型不支持)、0立即打印(不混排)
                 */
                getModel.callNativePrintQrcode({
                    'iLmargin': 10,
                    'iMside': 5,
                    'iRound': 0,
                    'strData': '"http://weixin.qq.com/',
                });

隐私、权限声明

1. 本插件需要申请的系统权限列表:

android.permission.WRITE_EXTERNAL_STORAGE、android.permission.READ_EXTERNAL_STORAGE

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问