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-11-18tcpdf可以等待vue动态页面加载完成后再生成pdf吗?-icode9专业技术文章分享
- 2024-11-16Vue3资料:新手入门必读教程
- 2024-11-16Vue3资料:新手入门全面指南
- 2024-11-16Vue资料:新手入门完全指南
- 2024-11-16Vue项目实战:新手入门指南
- 2024-11-16React Hooks之useEffect案例详解
- 2024-11-16useRef案例详解:React中的useRef使用教程
- 2024-11-16React Hooks之useState案例详解
- 2024-11-16Vue入门指南:从零开始搭建第一个Vue项目
- 2024-11-16Vue3学习:新手入门教程与实践指南