TypeScript में PDF जनरेशन: लाइब्रेरी और टूल्स का अवलोकन

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

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

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

TypeScript में PDF जनरेशन: टूल्स का अवलोकन



PDF दस्तावेज़ जनरेशन वेब डेवलपमेंट में सामान्य कार्यों में से एक है। TypeScript और शक्तिशाली लाइब्रेरी की बदौलत, आप ब्राउज़र या सर्वर (Node.js) पर सीधे जटिल रिपोर्ट, चालान, प्रमाणपत्र और अन्य दस्तावेज़ बना सकते हैं। इस लेख में हम TypeScript में PDF के साथ काम करने के लिए मुख्य लाइब्रेरी, उनकी विशेषताओं और उपयोग के उदाहरणों पर विचार करेंगे।



1. jsPDF — हल्की और लोकप्रिय लाइब्रेरी



jsPDF क्लाइंट साइड पर PDF बनाने के लिए सबसे आम लाइब्रेरी में से एक है। यह केवल JavaScript/TypeScript का उपयोग करके सीधे ब्राउज़र में दस्तावेज़ जनरेट करने की अनुमति देती है। लाइब्रेरी टेक्स्ट, इमेज, टेबल और बुनियादी फ़ॉर्मेटिंग का समर्थन करती है।



स्थापना

npm install jspdf @types/jspdf


उदाहरण: सरल PDF बनाना

import { jsPDF } from 'jspdf';

const doc = new jsPDF();doc.text('नमस्ते, दुनिया!', 10, 10);doc.save('document.pdf');


लाभ और हानियाँ

  • ✅ उपयोग में आसानी
  • ✅ ब्राउज़र और Node.js में काम करता है (अतिरिक्त मॉड्यूल के साथ)
  • ❌ जटिल लेआउट के लिए सीमित समर्थन
  • ❌ टेबल के साथ काम करना कठिन (मैन्युअल सेटअप आवश्यक)


2. PDFKit — सर्वर-साइड जनरेशन के लिए शक्तिशाली उपकरण



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



स्थापना

npm install pdfkit @types/pdfkit


उदाहरण: टेक्स्ट और इमेज के साथ PDF बनाना

import PDFDocument from 'pdfkit';import fs from 'fs';

const doc = new PDFDocument();doc.pipe(fs.createWriteStream('output.pdf'));

doc.fontSize(25).text('शीर्षक', 100, 100);doc.image('path/to/image.png', 100, 150, { width: 200 });doc.end();


लाभ और हानियाँ

  • ✅ लचीलापन और पूर्ण नियंत्रण
  • ✅ जटिल ग्राफ़िक्स का समर्थन
  • ❌ ब्राउज़र में काम नहीं करता (केवल Node.js)
  • ❌ jsPDF की तुलना में अधिक जटिल API


3. Puppeteer — HTML से PDF जनरेशन



Puppeteer Chrome headless ब्राउज़र को नियंत्रित करने के लिए एक लाइब्रेरी है। यह HTML पृष्ठों को PDF में बदलने की अनुमति देती है, जो तब सुविधाजनक होता है जब आपके पास पहले से दस्तावेज़ का लेआउट हो (जैसे चालान या रिपोर्ट)। यह क्लाइंट और सर्वर दोनों साइड जनरेशन के लिए उपयुक्त है।



स्थापना

npm install puppeteer


उदाहरण: HTML से PDF जनरेशन

import puppeteer from 'puppeteer';

async function generatePDF() { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.setContent('<h1>नमस्ते, PDF!</h1><p>यह एक रिपोर्ट है।</p>'); await page.pdf({ path: 'report.pdf', format: 'A4' }); await browser.close();}

generatePDF();


लाभ और हानियाँ

  • ✅ CSS और HTML का पूर्ण उपयोग
  • ✅ जटिल लेआउट और शैलियों का समर्थन
  • ❌ Chrome स्थापना की आवश्यकता (बड़ा आकार)
  • ❌ विशेष लाइब्रेरी की तुलना में धीमा


4. pdfmake — JSON संरचना पर आधारित जनरेशन



pdfmake एक लाइब्रेरी है जो घोषणात्मक दृष्टिकोण का उपयोग करती है: आप JSON में दस्तावेज़ की संरचना का वर्णन करते हैं, और लाइब्रेरी स्वयं PDF बनाती है। यह टेबल, सूचियाँ और रिपोर्ट बनाने के लिए उपयुक्त है।



स्थापना

npm install pdfmake @types/pdfmake


उदाहरण: टेबल के साथ PDF बनाना

import pdfMake from 'pdfmake/build/pdfmake';import pdfFonts from 'pdfmake/build/vfs_fonts';

pdfMake.vfs = pdfFonts.pdfMake.vfs;

const docDefinition = { content: [ { text: 'रिपोर्ट'

अनुशंसाएँ