Skip to content

Commit

Permalink
[VAS-889] feat: Introducing qrCode/datamatrix generation helpers in p…
Browse files Browse the repository at this point in the history
…df-engine
  • Loading branch information
alessio-cialini committed Apr 12, 2024
1 parent 528c9ce commit ff69523
Show file tree
Hide file tree
Showing 5 changed files with 65 additions and 2 deletions.
5 changes: 4 additions & 1 deletion node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,10 @@
"hbs-cli": "^1.4.1",
"multer": "^1.4.5-lts.1",
"nodemon": "^3.0.1",
"puppeteer": "^18.0.2"
"puppeteer": "^18.0.2",
"bitgener": "^1.2.12",
"qrcode-svg": "^1.1.0",
"uuid": "^9.0.1"
},
"devDependencies": {
"@types/jest": "^24.0.15",
Expand Down
4 changes: 3 additions & 1 deletion node/pdf-generate/handlers.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,9 @@ const generatePdf = async function (req, res, next) {
try {
let templateFile = readFileSync(path.join(workingDir, "template.html")).toString();
let template = handlebars.compile(templateFile);
let html = template(JSON.parse(data));
const jsonData = JSON.parse(data);
jsonData.tempPath = workingDir;
let html = template(jsonData);
fs.writeFileSync(path.join(workingDir, "compiledTemplate.html"), html);
} catch (err) {
console.log(err)
Expand Down
31 changes: 31 additions & 0 deletions node/pdf-generate/helpers/genDataMatrix.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const bitgener = require('bitgener');
const { v4: uuidv4 } = require("uuid");
const path = require('path');

function genDataMatrix(data, path) {
const filename = path.join(saveDir,uuidv4()+".svg");
bitgener({
data: data,
type: 'datamatrix',
output: filename,
encoding: 'utf8',
rectangular: false,
padding: 0,
width: 256,
height: 256,
original2DSize: false,
color: 'black',
opacity: 1,
bgColor: '#F7931A',
bgOpacity: 0,
hri: {
show: false
}
}).then((ret) => {
console.log(ret);
});

return filename;
}

module.exports = genDataMatrix;
23 changes: 23 additions & 0 deletions node/pdf-generate/helpers/genQrCode.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
var QRCode = require("qrcode-svg");
const { v4: uuidv4 } = require("uuid");
const path = require('path');

function genQrCode(data, saveDir) {
const filename = path.join(saveDir,uuidv4()+".svg");
var qrcode = new QRCode({
content: data,
padding: 0,
width: 256,
height: 256,
color: "#000000",
background: "#ffffff",
ecl: "M",
join: true,
});
qrcode.save(filename, function (error) {
if (error) throw error;
});
return filename;
}

module.exports = genQrCode;
4 changes: 4 additions & 0 deletions node/pdf-generate/utils/browserManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ let splitAndSpace = require('../helpers/splitAndSpace');
let not = require('../helpers/not')
let eq = require('../helpers/eq')
let lowercase = require('../helpers/lowercase');
let genQrCode = require('../helpers/genQrCode');
let genDataMatrix = require('../helpers/genDataMatrix');

let browser;

Expand All @@ -15,6 +17,8 @@ const getBrowserSession = async () => {
handlebars.registerHelper("eq", eq);
handlebars.registerHelper("splitAndSpace", splitAndSpace);
handlebars.registerHelper("lowercase", lowercase);
handlebars.registerHelper("genQrCode", genQrCode);
handlebars.registerHelper("genDataMatrix", genDataMatrix);

browser = await puppeteer.launch({
headless: true,
Expand Down

0 comments on commit ff69523

Please sign in to comment.