ZoeApi/helpers/generateBarCode.js

29 lines
1.0 KiB
JavaScript

var fs = require('fs');
var JsBarcode = require('jsbarcode');
var { createCanvas } = require("canvas");
var canvas = createCanvas();
var JSZip = require("jszip");
var zip = new JSZip();
function NovoGeradorBarCode(numBarCodeGerado) {
for (i = 0; i < numBarCodeGerado; i++) {
let random = Math.random();
console.log(random);
let date = new Date;
random = random.toString().match(/[^.][0-9]{6}/)[0];
let month = (date.getMonth() + 1).toString().padStart(2, "0");
let day = date.getDate().toString().padStart(2, "0");
let milli = date.getMilliseconds().toString().slice(1,3);
let barCode = random.concat(month, day, milli);
console.log('barcode',barCode);
JsBarcode(canvas, barCode);
zip.file(`barcode_${i}.png`, canvas.toBuffer());
}
zip.generateNodeStream({type:'nodebuffer',streamFiles:true})
.pipe(fs.createWriteStream('C:\\Users\\Maker\\Desktop\\out.zip'))
.on('finish', function () {
console.log("out.zip written.");
});
}