前端实现 生成条形码并调用打印机打印

news/2025/3/15 13:56:34/

本文档使用开发语言vue3+vite+setup语法糖

实现功能,批量选择数据-->生成条形码--->调用打印机-->打印输出

一、生成条形码:  

1.安装所需要插件

npm i jsbarcode

2. 引入

import JsBarcode from 'jsbarcode'

3. 使用 

 // html 部分
<svg ref="barcodeRef"></svg>// js部分import{ref, onMounted} from 'vue'
import JsBarcode from 'jsbarcode'const barcodeRef=ref(null)
const text = '123456789'
const options= {// format: 'EAN13', // 格式height: 50,// text: "覆盖显示的文本",fontSize: 16,// background: '#ccc',lineColor: 'black'
}
JsBarcode(barcodeRef.value, text , options)

具体相关条形码配置options,请参考jsbarcode - npm

二,调用打印机打印条形码

 1.安装所需要插件

 npm i vue-print-nb

2. 引入

main.js文件

import print from 'vue3-print-nb'const app = createApp(App)
app.use(print)
...
app.mount('#app')

3. 使用 

 // html 部分<div ref="printTest" id="printTest"><div> 这里就是你所要打印的内用</div><el-button v-print="printObj">打印</el-button></div>
// js部分import{ref, onMounted} from 'vue'const printObj = reactive({id: 'printTest', // 绑定打印区域的idbeforeOpenCallback(vue) {vue.printLoading = trueconsole.log('打开之前')},openCallback(vue) {vue.printLoading = falseconsole.log('执行了打印')},closeCallback(vue) {console.log('关闭了打印工具')}
})

具体相关条形码配置printObj,请参考vue-print-nb - npm

在打印预览的时候发现,条形码并不是一码一页,以及存在打印预览中会看到在纸张的上下页眉和页脚中有日期及其他的文字内用,该怎么去掉;

别着急!!!

 // 1.实现一码一页打印<div ref="printTest" id="printTest"><div> 这里就是你所要打印的内用<!-- 换页打印 --><p style="page-break-after: always"></p></div><el-button v-print="printObj">打印</el-button></div>// 去掉页眉和页脚
通过媒体查询,css来解决
<style lang="less">
@media print {@page {size: auto; /* 重置页面大小,避免出现空白页 */margin-top: 0; /* 取消页眉 */margin-bottom: 0; /* 取消页脚 */margin-left:0; margin-right:0;  /* 取消默认的左右页边距 */}
}
</style>

三,完整代码实现批量打印条形码

<template><div><div id="printTest"><div v-for="(item, index) in data" :key="index"><svg ref="barcodeList"></svg><!-- 换页打印 --><p style="page-break-after: always"></p></div></div><el-button v-print="printObj">打印</el-button></div>
</template><script setup>
import JsBarcode from 'jsbarcode'
import { ref, reactive, onMounted } from 'vue'const printObj = reactive({id: 'printTest', // 绑定打印区域的idbeforeOpenCallback(vue) {vue.printLoading = trueconsole.log('打开之前')},openCallback(vue) {vue.printLoading = falseconsole.log('执行了打印')},closeCallback(vue) {console.log('关闭了打印工具')}
})// 批量要打印的数据
const data = ref(['123456789', '987654321'])const options = {// format: 'EAN13', // 格式height: 50,// text: "覆盖显示的文本",fontSize: 16,// background: '#ccc',lineColor: 'black'
}const barcodeList = ref([])
onMounted(() => {data.value.forEach((item, index) => {JsBarcode(barcodeList.value[index], item, options)})
})
</script><style lang="less">
@media print {@page {size: auto; /* 重置页面大小,避免出现空白页 */margin-top: 0; /* 取消页眉 */margin-bottom: 0; /* 取消页脚 */margin-left: 0;  margin-right: 0; /* 取消默认左右页边距 */}
}
</style>

转载请著名转载地址https://blog.csdn.net/ABC123220/article/details/131080624


http://www.ppmy.cn/news/789116.html

相关文章

多个条码标签如何在一张纸上打印

我们通过数据库&#xff0c;流水号等批量生成条码时&#xff0c;一般都是使用标签打印机打印在专门的标签纸上。但是也有一种情况就是将批量生成的条码打印在一张纸上&#xff0c;具体如何操作小编将详细介绍。 首先我们打开条码标签软件&#xff0c;新建一个标签并设置标签的尺…

c# 小票打印机打条形码_C# Code 128条形码打印的问题

我自己做了一个小票打印的&#xff0c;因为纸张大小的限制&#xff0c;我把条形码的字体大小设置成24 但是这样就出问题了 红框部分打印出现异常。如果字体换成64则变成正常了。但是这样的话纸张宽度不够&#xff0c;打印不全。 代码如下 纸张大小设置&#xff1a; 纸张设置默认…

条形码打印--安卓

最近美团出餐宝要求服务商支持在小票上显示订单一维码信息&#xff0c;时间很赶&#xff0c;抓紧行动。由于我们有多个项目与打印相关。用到的打印机有驱动打印机&#xff0c;网口打印机&#xff0c;蓝牙打印机。不用惊讶&#xff0c;驱动打印机是用于delphi开发的桌面项目。开…

php 怎么打印条形码,php – 直接从(zebra)打印机上的浏览器打印贴纸/条形码标签...

我们必须遵循以下情况,我们的客户之一正在寻找解决方案. 他已经构建了一个 PHP脚本,生成一个带有一些信息和条形码的标签,因此工作流程如下所述&#xff1a;用户输入一些数据(有些数据是从数据库中提取的,有些则不是) 当用户单击打印标签时,将打开一个窗口并生成标签.所以现在代…

c# 小票打印机打条形码_C#条形码的生成与打印

本文主要介绍基于第三方类库BarcodeX制作条形码及打印方法 第一步&#xff1a;引用类库 第二步&#xff1a;定义一个打印的方法 /// /// 打印条形码方法 /// /// 为PrintDocument对象的PrintPage事件提供数据 /// 待生成条形码的文本 /// 条形码宽度 /// 条形码高度 /// 偏移…

打条码软件怎样测试到纸张大小,条码标签纸规格有哪些?如何在打印机上设置打印尺寸?...

条码标签纸&#xff0c;顾名思义是打印或印刷了条形码的标签。大多数的应用情况是要求每个条形码的号码都是唯一的。条码标签纸是日常生活中随处可见的纸品&#xff0c;广泛应用于产品标签等领域。那么&#xff0c;条码标签纸规格有哪些&#xff1f;这里物联云仓小编为大家解答…

条码打印机跳纸是怎么回事

使用条码打印机&#xff0c;有时候会出现跳纸的问题&#xff0c;是怎么回事呢?一般来说&#xff0c;是打印设置有问题&#xff0c;处理办法&#xff1a;在纸张大小及间距设置都正确的情况下&#xff0c;把BMP打印格式改为PCX格式进行打印。 条码打印机跳纸是怎么回事 条码打印…

如何在A4纸上打印连续的条形码

大家是不是会这样认为&#xff1a;只要是条码标签就应该打印在不干胶标签纸上&#xff0c;其实不然。很多用户是需要打印在A4纸上使用的。今天小编就给大家介绍如何在A4纸上打印连续的条形码。 首先打开软件&#xff0c;新建一个标签页面&#xff0c;设置好尺寸。使用条码工具绘…