使用HiPrint批量打印条码,二维码

使用HiPrint批量打印条码,二维码,第1张

使用HiPrint批量打印条码 简介Vue集成页面使用-单页面打印页面使用-批量打印总结

简介

hiprint是一款开源vue打印插件,开箱即用,非常方便。
官方文档:
hiprint官方文档

Vue集成

// 控制台中输入 以安装npm包

npm install vue-plugin-hiprint

// 在index.html 文件中添加打印所需样式: 当然你也可以调整成 相对链接/自有链接

// main.js中 引入安装

import {hiPrintPlugin} from 'vue-plugin-hiprint'
Vue.use(hiPrintPlugin, '$pluginName')
hiPrintPlugin.disAutoConnect(); // 取消自动连接直接打印客户端
页面使用-单页面打印
//初始化模板
this.$pluginName.init();
var hiprintTemplate = new this.$pluginName.PrintTemplate();
//添加页面打印模板
var panel = hiprintTemplate.addPrintPanel({ width: 100, height: 130, paperFooter: 340, paperHeader: 10 });
//文本
panel.addPrintText({ options: { width: 140, height: 15, top: 20, left: 20, title: 'hiprint插件手动添加text', textAlign: 'center' } });
//条形码
panel.addPrintText({ options: { width: 140, height: 35, top: 40, left: 20, title: '123456', textType: 'barcode' } });
//二维码
panel.addPrintText({ options: { width: 35, height: 35, top: 40, left: 165, title: '123456', textType: 'qrcode' } });
//长文本
panel.addPrintLongText({ options: { width: 180, height: 35, top: 90, left: 20, title: '长文本:hiprint是一个很好的webjs打印,浏览器在的地方他都可以运行' } });
//表格
panel.addPrintTable({ options: { width: 252, height: 35, top: 130, left: 20, content: $('#testTable').html() } });
//Html
panel.addPrintHtml({ options: { width: 140, height: 35, top: 180, left: 20, content:'' } });
//竖线//不设置宽度
panel.addPrintVline({ options: { height: 35, top: 230, left: 20 } });
//横线 //不设置高度
panel.addPrintHline({ options: { width: 140, top: 245, left: 120 } });
//矩形
panel.addPrintRect({ options: { width: 35, height: 35, top: 230, left: 60 } });
//调用其中一种
//打印
hiprintTemplate.print({});
//直接打印,需要安装客户端
hiprintTemplate.print2({});
页面使用-批量打印
//提前定义好打印模板  barcodeData,count字段为自定义数据字段,需传入动态数据  panel.js
export default {
    "panels": [
      {
      "index": 0,
      "height": 60,
      "width": 80,
      "paperHeader": -15,
      "paperFooter": 170.07874015748033,
      "printElements": [{
        "options": {
          "left": 28.5,
          "top": 12,
          "height": 17,
          "width": 120,
          "testData": "单据表头",
          "fontSize": 16.5,
          "fontWeight": "700",
          "textAlign": "center",
          "hideTitle": true,
          "title": "单据表头1"
        }, "printElementType": {"title": "单据表头", "type": "text"}
      }, {
        "options": {
          "left": 28.5,
          "top": 34.5,
          "height": 32,
          "width": 120,
          "testData": "XS888888888",
          "fontSize": 12,
          "lineHeight": 18,
          "fontWeight": "700",
          "textAlign": "left",
          "textContentVerticalAlign": "middle",
          "textType": "barcode",
          "field":"barcodeData",
          "title": "二维码"
        }, "printElementType": {"title": "二维码", "type": "text"}
      }, {
        "options": {
          "left": 157.5,
          "top": 15,
          "height": 9.75,
          "width": 57,
          "title": "第",
          "field": "count",
          "testData": "1"
        }, "printElementType": {"title": "文本", "type": "text"}
      }],
      "paperNumberLeft": 196,
      "paperNumberTop": 148,
      "paperNumberDisabled": true
    }]
  }
//data定义打印field字段数据
printData:[
        {barcodeData:'1237748567aa',count:'1'},{barcodeData:'1237748567bb',count:'2'},{barcodeData:'1237748567cc',count:'3'}
      ]
//批量打印使用
//带入模板初始化
this.$pluginName.init();
let hiprintTemplate = new this.$pluginName.PrintTemplate({
        template:panel
      });
//传入数据打印
hiprintTemplate.print(this.printData,{})
总结

hiprint是一款很方便的打印插件,可以提前到官网上面设置好打印布局,然后生成模板,另存到一个文件中,方便使用。
使用中遇到问题:打印时,样式重叠,内容总打印在第一页上,原因:当前页面没有引入print-lock.css样式,可见官网说明。
index.html引用外部css需将css文件放在与src同级目录下static文件夹中。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1320808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-11
下一篇 2022-06-11

发表评论

登录后才能评论

评论列表(0条)

保存