Node.js पर QR कोड जनरेशन: qrcode और qr-image लाइब्रेरी
QR कोड आधुनिक वेब एप्लिकेशन का अहम हिस्सा बन गए हैं - चाहे वेबसाइट लिंक हो, लॉगिन हो, या संपर्क जानकारी और भुगतान डेटा ट्रांसफर करना हो। Node.js इकोसिस्टम में कई परिपक्व लाइब्रेरी हैं जो बिना किसी थर्ड-पार्टी API या भारी ग्राफिक एडिटर के QR कोड जनरेट कर सकती हैं। इस लेख में हम दो सबसे लोकप्रिय लाइब्रेरी - qrcode और qr-image - पर विस्तार से चर्चा करेंगे। आप जानेंगे कि इन्हें कैसे इंस्टॉल करें, ये कौन से आउटपुट फॉर्मेट सपोर्ट करती हैं, और अपने प्रोजेक्ट में इंटीग्रेट करने के लिए तैयार कोड उदाहरण प्राप्त करेंगे।
1. qrcode लाइब्रेरी - सर्वश्रेष्ठ QR कोड जनरेटर
qrcode एक शक्तिशाली लाइब्रेरी है जो JavaScript, TypeScript और ब्राउज़र को सपोर्ट करती है। यह PNG, SVG, canvas और सादे टेक्स्ट फॉर्मेट में QR कोड जनरेट कर सकती है। इसकी सबसे बड़ी खासियत है विस्तृत कस्टमाइज़ेशन: आप रंग बदल सकते हैं, एरर करेक्शन लेवल सेट कर सकते हैं, लोगो जोड़ सकते हैं और मार्जिन कंट्रोल कर सकते हैं।
इंस्टॉलेशन
npm install qrcode
बेसिक उदाहरण: PNG इमेज बनाना
const QRCode = require('qrcode');
// एनकोड करने के लिए स्ट्रिंग
const data = 'https://pythonlib.ru';
QRCode.toFile('qrcode.png', data, {
color: {
dark: '#000000', // मॉड्यूल (वर्गों) का रंग
light: '#FFFFFF' // बैकग्राउंड का रंग
},
errorCorrectionLevel: 'H' // अधिकतम एरर करेक्शन
}, function (err) {
if (err) throw err;
console.log('QR कोड qrcode.png के रूप में सेव हो गया');
});
SVG (वेक्टर फॉर्मेट) जनरेट करना
const QRCode = require('qrcode');
QRCode.toString('https://pythonlib.ru', {
type: 'svg',
color: {
dark: '#2c3e50',
light: '#ecf0f1'
}
}, function (err, svgString) {
if (err) throw err;
console.log(svgString); // कंसोल में SVG मार्कअप आउटपुट
});
बफर में जनरेट करना (HTTP रिस्पॉन्स के लिए)
const QRCode = require('qrcode');
QRCode.toBuffer('https://pythonlib.ru', {
type: 'png',
width: 400,
margin: 2
}, function (err, buffer) {
if (err) throw err;
// buffer एक Buffer ऑब्जेक्ट है जिसे HTTP रिस्पॉन्स के रूप में भेजा जा सकता है
// res.setHeader('Content-Type', 'image/png');
// res.send(buffer);
});
2. qr-image लाइब्रेरी - हल्का और तेज़ विकल्प
qr-image एक मिनिमलिस्टिक लाइब्रेरी है जिसमें कोई अनावश्यक डिपेंडेंसी नहीं है। यह PNG, SVG, EPS और यहां तक कि PDF (एक्स्ट्रा मॉड्यूल इंस्टॉल करके) में तेज़ी से QR कोड जनरेट करने पर केंद्रित है। अगर आपको जटिल रंग सेटिंग्स या लोगो की ज़रूरत नहीं है, तो qr-image एक बेहतरीन विकल्प है।
इंस्टॉलेशन
npm install qr-image
उदाहरण: PNG इमेज बनाना
const qr = require('qr-image');
const fs = require('fs');
const data = 'https://pythonlib.ru';
const qr_png = qr.image(data, { type: 'png', size: 10 });
qr_png.pipe(fs.createWriteStream('qr-image.png'));
console.log('QR कोड qr-image.png के रूप में सेव हो गया');
SVG जनरेट करना
const qr = require('qr-image');
const fs = require('fs');
const data = 'https://pythonlib.ru';
const qr_svg = qr.image(data, { type: 'svg', size: 10 });
qr_svg.pipe(fs.createWriteStream('qr-image.svg'));
console.log('QR कोड qr-image.svg के रूप में सेव हो गया');
फ़ाइल में सेव किए बिना SVG स्ट्रिंग प्राप्त करना
const qr = require('qr-image');
const data = 'https://pythonlib.ru';
const svgString = qr.imageSync(data, { type: 'svg' });
console.log(svgString); // तैयार SVG मार्कअप
3. लाइब्रेरी की तुलना
- qrcode - अधिक सेटिंग्स (रंग, मार्जिन, एरर करेक्शन, लोगो), TypeScript, प्रॉमिस और async/await सपोर्ट। प्रोडक्शन प्रोजेक्ट्स के लिए बेहतर है जहां कस्टम रंग और उच्च विश्वसनीयता चाहिए।
- qr-image - हल्की (50 KB से कम), उपयोग में आसान, PNG, SVG, EPS और PDF सपोर्ट करती है। सरल प्रोजेक्ट्स या प्रोटोटाइप के लिए आदर्श।