JavaScript में PDF जनरेशन: PDFKit लाइब्रेरी

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें
```html

PDFKit क्या है?

PDFKit JavaScript (Node.js) पर PDF दस्तावेज़ बनाने के लिए एक शक्तिशाली लाइब्रेरी है। यह टेक्स्ट, इमेज, टेबल, वेक्टर ग्राफिक्स और एनोटेशन के साथ जटिल बहु-पृष्ठ PDF फ़ाइलें बना सकता है। PDFKit PDF 1.7 विनिर्देश को पूरी तरह से लागू करता है और इसके लिए किसी बाहरी निर्भरता की आवश्यकता नहीं है, जो इसे Node.js पर सर्वर-साइड एप्लिकेशन के लिए एक आदर्श विकल्प बनाता है।

JavaScript में PDF जनरेशन की आवश्यकता क्यों है?

सर्वर-साइड PDF जनरेशन विभिन्न परिदृश्यों में उपयोगी है: इनवॉइस और रसीदें बनाना, रिपोर्ट तैयार करना, प्रमाणपत्र जनरेट करना, डेटा को पोर्टेबल फॉर्मेट में एक्सपोर्ट करना। PDFKit आपको ब्राउज़र के बिना पूरी तरह से Node.js वातावरण में काम करके इन प्रक्रियाओं को स्वचालित करने की अनुमति देता है। आप डायनामिक रूप से दस्तावेज़ बना सकते हैं, डेटाबेस से डेटा डाल सकते हैं, वॉटरमार्क और हस्ताक्षर जोड़ सकते हैं।

PDFKit की स्थापना

लाइब्रेरी की स्थापना सरल है और npm के माध्यम से की जाती है:

npm install pdfkit

टेबल के साथ आसान काम के लिए pdfkit-table या SVG ग्राफिक्स डालने के लिए svg-to-pdfkit स्थापित करने की भी सिफारिश की जाती है।

PDFKit की मुख्य विशेषताएं

  • टेक्स्ट और फ़ॉन्ट: Unicode समर्थन, फ़ॉन्ट एम्बेड करना, संरेखण, लाइन रैपिंग, कर्निंग।
  • वेक्टर ग्राफिक्स: रेखाएं, आयत, वृत्त, बेज़ियर वक्र, ग्रेडिएंट।
  • इमेज: JPEG, PNG, SVG (प्लगइन के माध्यम से) डालना।
  • टेबल: स्वचालित कॉलम चौड़ाई, शैलियों और हेडर के साथ टेबल बनाना।
  • एनोटेशन: लिंक, बुकमार्क, मेटाडेटा (लेखक, विषय), वॉटरमार्क।
  • पृष्ठ: जोड़ना, आकार, ओरिएंटेशन, मार्जिन सेट करना, नंबरिंग।

JavaScript (Node.js) पर कोड उदाहरण

const PDFDocument = require('pdfkit');const fs = require('fs');

// दस्तावेज़ बनाएँconst doc = new PDFDocument();

// फ़ाइल में सहेजेंconst stream = fs.createWriteStream('output.pdf');doc.pipe(stream);

// शीर्षक जोड़ेंdoc.fontSize(25).text('नमस्ते, दुनिया!', 100, 100);

// लाइन रैपिंग के साथ टेक्स्ट जोड़ेंdoc.fontSize(12).text('यह PDFKit का उपयोग करके बनाया गया एक PDF उदाहरण है।', 100, 150);

// एक रेखा खींचेंdoc.moveTo(100, 200).lineTo(400, 200).stroke();

// इमेज डालें (यदि उपलब्ध हो)// doc.image('path/to/image.png', 100, 250, {width: 200});

// नया पृष्ठdoc.addPage();doc.fontSize(20).text('पृष्ठ 2');

// टेबल जोड़ें (pdfkit-table के माध्यम से)// doc.table({ headers: ['नाम', 'आयु'], rows: [['अन्ना', 25], ['इवान', 30]] });

// दस्तावेज़ समाप्त करेंdoc.end();

stream.on('finish', () => { console.log('PDF सफलतापूर्वक बनाया गया');});

PDFKit का उपयोग कब करें?

PDFKit उन कार्यों के लिए उपयुक्त है जहाँ PDF सामग्री पर पूर्ण नियंत्रण की आवश्यकता होती है: सरल टेक्स्ट दस्तावेज़ों से लेकर चार्ट, टेबल और वॉटरमार्क वाली जटिल रिपोर्ट तक। यदि HTML लेआउट की आवश्यकता नहीं है तो यह Puppeteer की तुलना में तेज़ और हल्का है। PDFKit का उपयोग करें यदि आप Node.js सर्वर पर दस्तावेज़ बना रहे हैं और ब्राउज़र चलाने से बचना चाहते हैं। सरल कार्यों के लिए जहाँ HTML-to-PDF की आवश्यकता है, Puppeteer बेहतर विकल्प होगा।

```

अनुशंसाएँ