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-05-30React Native常用组件-点击组件
- 2024-05-30uniapp+vue3+uv-ui手机端后台OA管理模板
- 2024-05-29Python网络爬虫的时候json=就是让你少写个json.dumps()
- 2024-05-27React Native常用组件-展示组件
- 2024-05-27React Native常用组件-列表组件
- 2024-05-09vue3开发前端表单缓存自定义指令,移动端h5必备插件
- 2024-05-09React Hooks在class组件中的使用方式
- 2024-03-30[OIDC in Action] 2. 基于OIDC(OpenID Connect)的SSO(纯JS客户端)
- 2024-03-29terraform jsonencode
- 2024-03-13vuex-persist