1、引入JsBarcode

import JsBarcode from 'jsbarcode';

2、批量选择页面列表数据

3、循环选择的数据集,创建要打印的HTML内容

        <div ref="printDiv" style="display:none;"><div v-for="item in selectedRows" :key="item.batchNumber" style="page-break-after:always;"><div style="margin-top:7px;"><img :src="item.batchNumber | creatBarCode(item.batchNumber)" style="width:auto; height:150px"/></div><div style="font-size:30px;margin-top:7px;">业务类型:{{item.businessType}}</div><div style="font-size:30px;margin-top:7px;">物流渠道:{{item.courier}}</div></div></div>

这里有点要讲一下,就是循环的div的样式(style)要加上page-break-after:always;

<div v-for="item in selectedRows" :key="item.batchNumber" style="page-break-after:always;">

4、利用JsBarcode生成条码,输出图片给img标签

        creatBarCode(barCodeData, printData) {console.log("触发条码生成事件");console.log(printData);let canvas = document.createElement("canvas");JsBarcode(canvas, barCodeData, {format: "CODE128",displayValue: true,margin: 0,height: 125,width: 2,fontSize: 30,textMargin: 10,});return canvas.toDataURL("image/png");}

5、利用iframe打印局部内容

<iframe ref="printIframe" frameborder="0" scrolling="no" style="margin: 0px;padding: 0px;width: 0px;height: 0px;"></iframe>
        onPrint(){if(!this.selectedRows || this.selectedRows.length == 0){this.$Message.error({content: "请选择要打印批次号!", duration:5});return;}this.printData.count = this.selectedRows.length;var printIframe = this.$refs.printIframe;var html = this.$refs.printDiv.innerHTML;printIframe.setAttribute('srcdoc', html);printIframe.onload = function () {console.log(printIframe.contentWindow);// 去掉iframe里面的dom的body的padding margin的默认数值printIframe.contentWindow.document.body.style.padding = '0px';printIframe.contentWindow.document.body.style.margin = '0px';// 开始打印printIframe.contentWindow.focus();printIframe.contentWindow.print();};}

6、看一下效果


style="page-break-after:always;" 的作用如图

Vue + JsBarcode 批量打印标签相关推荐

  1. 怎么用BarTender批量打印标签

    2019独角兽企业重金招聘Python工程师标准>>> 关于使用BarTender条码打印软件打印标签,很多小伙伴最关心的问题之一,莫过于如何实现BarTender批量打印标签.为了 ...

  2. Vue的批量更新原理

    简单的代码开始: var app = new Vue({el: '#app',data: {message: 'Hello Vue!'},watch: {message (val) {console. ...

  3. Excel中批量生成标签,批量打印标签。按指定模板批量打印标签

    1.问题概述 工作中经常需要将产品明细表转换成标签,贴在送货单上,或者将学生成绩转换成标签打印出来发送给学生. 例如在下图中有若干产品的送货信息,要求按图2的模板批量打印. 图1 送货信息 图2 标签 ...

  4. vue项目批量加载url文件并打包到zip下载

    vue项目批量加载url文件并打包到zip下载 项目里之前是遇到这样一个需求哈,需要根据选择的不同动态批量生成并下载图片, 而且这个图片不是一张一张生成下载,而是要等他选好条件之后, 把对应的图片动态 ...

  5. express+vue实现批量添加功能

    express+vue实现批量添加功能 前段时间由于后台的研究僧跑路了,我这个应届小菜鸟肩负起了全栈开发的工作,学得那是一个心累啊.项目没有很大,但麻雀虽小五脏俱全,写几篇文章不枉此行吧.废话不多说, ...

  6. P-touch Editor 批量打印标签

    注:本教程适用于Brother品牌各系列的专用标签机. 一.批量编辑标签表格: 用Excel软件来批量编辑标签,首先确定需要几列,一般是两列(本端和对端),如果中间通过跳线架的,可以再加一列(转接点) ...

  7. 自定义HTML内容批量打印标签或者单据方案

    Background 用户需要自定义设置标签或者单据内容. 产品技术方案选用Web架构. 用户环境复杂,操作系统版(Windows)本不一致,Browser兼容问题比较多. 用户打印设备型号多样,部分 ...

  8. java批量打印标签_java批量打印

    下面是实现java批量打印功能的具体工具类,其中的Info类和UserClass为具体的快递面单中要打印的信息,以参数的方式传递过来,循环调用java PrinterJob服务进行打印:这里的快递尺寸 ...

  9. vue JsBarcode 常用参数设置

    jsbarcode是一个不依赖任何库/框架的条形码生成库,使用原生JavaScript写成. 安装依赖包 npm install jsbarcode --save 在使用页面引入依赖包 import ...

  10. 条码标签打印软件导入Excel批量打印标签

    Excel表格文件保存数据方便,很多用户使用它存放复杂的表单数据,比如仓储进销存.固定资产的盘点管理等,Excel单元格不仅可以实现单列统计.也可以实现多列的合并,学习和掌握起来也比较简单. 如何将数 ...

最新文章

  1. server sql 数据c盘迁移d盘_oracle 11g dbf数据文件从C盘迁移到D盘
  2. 从5个经典工作开始看语义SLAM
  3. Spring 基于Java配置
  4. arcgis9.2系列下载
  5. codeigniter 中使用 phpexcel
  6. 设计模式之单件模式(Singleton Pattern)
  7. 深度学习(7) - 长短时记忆网络(LSTM)
  8. jenkins教程_4 Docker+SpringCloud
  9. 字符串统计--对于给定的一个字符串,统计其中数字字符出现的次数。
  10. CryoSat-2卫星介绍
  11. 修改sqlserver编码为utf8_修改Matlab默认编码格式为UTF-8
  12. 教你怎么从Windows10彻底删除Flash
  13. 笔记本计算机bios设置,教你笔记本电脑如何进入bios界面
  14. HTML DOM属性和方法
  15. eversync safari_Eversync:书签同步插件
  16. Dubbo系列之Dubbo原理简介
  17. 苏轼写的是一首八句的七律,这首绝句应该是后人假冒苏轼的作品。
  18. 解决mysql一段时间后不能启动
  19. Android屏幕刷新——源码分析
  20. Python项目实战 1.1:项目准备.需求分析

热门文章

  1. 二元序列游程编码c语言,基于游程编码数据压缩算法设计与实现.doc
  2. Java中的封装,继承和多态(详解)
  3. 使用prometheus+grafana监控k8s集群
  4. spline: 计算机曲线简史(转载)
  5. 直接sql 添加字段赋值
  6. SQLserver常用创建表 添加字段sql
  7. 数电第四章:组合逻辑电路
  8. MPush安装部署应用
  9. 小程序轮播图与图片处理
  10. ASROCK X399 PROFESSIONAL GAMING R1.02(70-MXB5Q0-A01)华擎点位图