nodejs 根据Excel数据批量生成条形码标签
2021/7/13 14:08:05
本文主要是介绍nodejs 根据Excel数据批量生成条形码标签,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
依赖的npm包 : JsBarcode,pdfkit ,svg-to-pdfkit ,xlsx
excel表格表头包含 : SKU ,name, barcode
根据Excel里的数据大批量生成条形码标签, pdf矢量格式, 一个标签一个文件
代码:
const fs = require('fs'), JsBarcode = require('JsBarcode'), PDFDocument = require('pdfkit'), SVGtoPDF = require('svg-to-pdfkit'), XLSX = require('xlsx'); const { DOMImplementation, XMLSerializer } = require('xmldom'); function bagLabel(dataline) { //新建pdf 默认分辨率 72dpi var doc = new PDFDocument({ size: [153, 113], margins: { top: 6, bottom: 3, left: 2, right: 2 } }), stream = fs.createWriteStream(`${dataline.SKU}-${dataline.name}-${dataline.barcode}标签.pdf`); //插入文本(必须指定中文字体路径) doc.font('c:/Windows/Fonts/simhei.ttf').fontSize(14).text(dataline.name, { align: 'center', width: 149 }); //生成条码 const document = new DOMImplementation().createDocument('http://www.w3.org/1999/xhtml', 'html', null); const svgNode = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); JsBarcode(svgNode, dataline.barcode, { xmlDocument: document, format: "CODE128", width: 2, height: 100, fontSize:12, margin:1 }); //插入条码 SVGtoPDF(doc, svgNode, 15, 22); //写入文件并关闭 stream.on('finish', function () { console.log('保存标签'); }); doc.pipe(stream); doc.end(); } //读取Excel var workbook = XLSX.readFile('barcodes.xlsx'); var worksheet = workbook.Sheets['Sheet1']; var datalist = XLSX.utils.sheet_to_json(worksheet); //遍历数据 datalist.forEach(function(d){ bagLabel(d); });
这篇关于nodejs 根据Excel数据批量生成条形码标签的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21Vue3教程:新手入门到实践应用
- 2024-12-21VueRouter4教程:从入门到实践
- 2024-12-20Vue3项目实战:从入门到上手
- 2024-12-20Vue3项目实战:新手入门教程
- 2024-12-20VueRouter4项目实战:新手入门教程
- 2024-12-20如何实现JDBC和jsp的关系?-icode9专业技术文章分享
- 2024-12-20Vue项目中实现TagsView标签栏导航的简单教程
- 2024-12-20Vue3入门教程:从零开始搭建你的第一个Vue3项目
- 2024-12-20从零开始学习vueRouter4:基础教程
- 2024-12-20Vuex4课程:新手入门到上手实战全攻略