帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
22
帖子
0
勋章
255
Y币

[多端开发] posPrinter 乱码,帮忙看下代码哪里的问题

[复制链接]
发表于 2024-3-11 20:02:34
html:



<div ref="printlzk" style="display: none">
      <div
        id="print"
        ref="print"
        style="
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100%;
          height: 40%;
          border: 1px solid black;
          font-size: 16px;
          background-color: white;
          transform: scale(0.5, 0.5);
          font-weight: 600;
        "
      >
        <div
          v-for="(item, index) in printCodeList"
          :key="index"
          style="display: flex; align-items: center; justify-content: center"
        >
          <div>
            <div>物料编码: {{ item.wlxxWlid }}</div>
            <div>物料名称: {{ item.wlxxMc }}</div>
            <div>物料图号: {{ item.wlxxTh }}</div>
            <div>物料规格: {{ item.wlxxGg }}</div>

            <div>
              <vue-barcode :value="value">不支持vue-vercode</vue-barcode>
            </div>
          </div>
        </div>
      </div>
    </div>




js:  html2canvas(_this.$refs["print"])

          .then((canvas) => {
            // ref-image-wrapper转换图片的dom
            const _dataURL = canvas.toDataURL("image/png");
            var str = _dataURL.split(",")[1];
            var orderInfo;
            // <img src="'data:image/png;base64,'+base64数据" />
            //  orderInfo = <img src=data:image/png;base64," + str + "/>"
            //  orderInfo = '<img  left="10" top="70">' + str + '</img>'
             orderInfo = "<img>" + str + "</img>"
            if (!localStorage.getItem("printInfo")) {
              _this.$toast("请先前往打印机设置页面选择默认打印机");
              return;
            }
            let adress = JSON.parse(localStorage.getItem("printInfo")).id;

            console.log(adress);
            console.log(orderInfo);
            console.log(Number(_this.dyzs));
            let module = api.require("posPrinter");
            let param = {
              taskList: [
                {
                  printerAddr: adress,
                  type: 2,
                  tscSetting: {
                    width: 60, // 60
                    height: 30, // 50
                    gap: 2,
                  },
                  content: orderInfo,
                  keepAlive: true, //蓝牙打印机,建议把keepAlive设为true
                  copyNum: _this.dyzs ? Number(_this.dyzs) : 0,
                },
              ],
            };
            module.print(param);
            api.hideProgress();
            _this.$toast("打印成功");
          })
          .catch((err) => {
            console.log(err);
          });

        _this.$refs.printlzk.style.display = "none";



但是打印出来的小票时乱码,哎求解啊



chyd④④⑤⑤②⑦⑧⑤②
102
帖子
4
勋章
1万+
Y币
最佳答案
我看你代码好像没有按照文档去适配,建议重新阅读一下文档,给你一个打印示例你试一下: var orderInfo; orderInfo = "测试打印"; orderInfo += "名称      单价 数量 金额"; orderInfo += "--------------------------------"; orderInfo += "番       1.0 1 1.0"; orderInfo += "番茄      10.0 10 10.0"; orderInfo += "番茄炒     10.0 100 100.0"; orderInfo += "番茄炒粉    100.0 100 100.0"; orderInfo += "番茄炒粉粉   1000.0 1 100.0"; orderInfo += "番茄炒粉粉粉粉 100.0 100 100.0"; orderInfo += "番茄炒粉粉粉粉 15.0 1 15.0"; orderInfo += "备注:快点送到"; orderInfo += "--------------------------------"; orderInfo += "合计:xx.0元"; orderInfo += "送货地点:xxxxxxxxxxxxxxxxx"; orderInfo += "联系电话:138000000000"; orderInfo += "订餐时间:2011-01-06 19:30:10"; orderInfo += " "; var printModule = api.require('posPrinter'); var param = { taskList: [ { printerAddr: '983:31:20:23:4A', content: orderInfo, keepAlive:true, //蓝牙打印机,建议把keepAlive设为true copyNum: 2 }, { printerAddr: '192.168.1.10', content: orderInfo, copyNum: 2 } ] }; printModule.print(param);
22
帖子
0
勋章
255
Y币
参数调试都有值,打印出来就是乱码,
130
帖子
7
勋章
5万+
Y币
雨巷的伞 · 2024-3-11 20:07参数调试都有值,打印出来就是乱码,

之前好用嘛?
22
帖子
0
勋章
255
Y币

这是第一次做
130
帖子
7
勋章
5万+
Y币

好的,我记得这个插件之前不是下架来的嘛
130
帖子
7
勋章
5万+
Y币
130
帖子
7
勋章
5万+
Y币

这里不是有编码嘛

printerEncoding:'gbk', 设置一下,或者改成utf-8试试
22
帖子
0
勋章
255
Y币
Arly【770104707】 · 2024-3-12 09:07这里不是有编码嘛

printerEncoding:'gbk', 设置一下,或者改成utf-8试试

昨天试过gbk的不行,我试试utf-8看看
22
帖子
0
勋章
255
Y币
雨巷的伞 · 2024-3-12 09:31昨天试过gbk的不行,我试试utf-8看看

试过了,两种编码都是乱码,都不行我再看看
22
帖子
0
勋章
255
Y币
来个技术咨询啊,打印机也都是花了钱买的配套xprinter,之前可以打印,进公司,之前的开发说可以打印的,下载一样的代码,产品是不是打印机坏了?还是api文档变更了
12下一页
您需要登录后才可以回帖 登录

本版积分规则