TypeScript में PDF जनरेशन: Node.js के लिए लाइब्रेरीज़ और टूल्स

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

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

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

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

\n\n

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

\n\n

1. PDFKit — शक्तिशाली सर्वर-साइड लाइब्रेरी

\n\n

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

\n\n

स्थापना और उदाहरण:

\n\n
npm install pdfkit @types/pdfkit\n
\n\n
import PDFDocument from 'pdfkit';\nimport * as fs from 'fs';\n\nconst doc = new PDFDocument();\n\ndoc.pipe(fs.createWriteStream('output.pdf'));\n\ndoc.fontSize(25).text('नमस्ते, दुनिया!', 100, 100);\ndoc.fontSize(12).text('यह PDF, PDFKit और TypeScript के साथ जनरेट किया गया है।', 100, 150);\n\ndoc.end();\n
\n\n

PDFKit इसके लिए उपयुक्त है:

\n\n
    \n
  • सर्वर पर PDF बनाना (Express, NestJS)
  • \n
  • कस्टम फ़ॉन्ट और एन्कोडिंग (सिरिलिक सहित) के साथ काम करना
  • \n
  • इमेज, टेबल और ग्राफ़िकल प्रिमिटिव जोड़ना
  • \n
\n\n

2. jsPDF — क्लाइंट पर PDF जनरेशन

\n\n

jsPDF सीधे ब्राउज़र में PDF बनाने के लिए एक क्लाइंट-साइड लाइब्रेरी है। इसका उपयोग करना आसान है, यह टेक्स्ट, इमेज, एनोटेशन और बुनियादी आकृतियों को सपोर्ट करता है। TypeScript के लिए, DefinitelyTyped के माध्यम से टाइप्स उपलब्ध हैं।

\n\n

स्थापना:

\n\n
npm install jspdf @types/jspdf\n
\n\n

ब्राउज़र में PDF जनरेशन का उदाहरण:

\n\n
import { jsPDF } from 'jspdf';\n\nconst doc = new jsPDF();\n\ndoc.text('नमस्ते, TypeScript!', 10, 10);\ndoc.text('यह PDF ब्राउज़र में बनाया गया है।', 10, 20);\n\ndoc.save('document.pdf');\n
\n\n

jsPDF इसके लिए उपयुक्त है:

\n\n
    \n
  • क्लाइंट साइड पर PDF डाउनलोड करना (रिपोर्ट, रसीदें)
  • \n
  • जटिल लेआउट के बिना सरल दस्तावेज़
  • \n
  • त्वरित प्रोटोटाइपिंग
  • \n
\n\n

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

\n\n

Puppeteer Chrome/Chromium ब्राउज़र को नियंत्रित करने के लिए एक लाइब्रेरी है। यह HTML पेजों को PDF में बदलने की अनुमति देता है, जिसमें स्टाइल, फ़ॉन्ट और लेआउट पूरी तरह से संरक्षित रहते हैं। यह जटिल दस्तावेज़, रिपोर्ट और विज़िटिंग कार्ड बनाने के लिए उपयुक्त है।

\n\n

स्थापना:

\n\n
npm install puppeteer\n
\n\n

HTML को PDF में बदलने का उदाहरण:

\n\n
import puppeteer from 'puppeteer';\n\nasync function generatePDF(html: string, outputPath: string): Promise<void> {\n    const browser = await puppeteer.launch();\n    const page = await browser.newPage();\n\n    await page.setContent(html, { waitUntil: 'networkidle0' });\n    await page.pdf({ path: outputPath, format: 'A4' });\n\n    await browser.close();\n}\n\n// उपयोग\nconst htmlContent = `<h1 style="color: blue;">शीर्षक</h1><p>HTML स्टाइल के साथ टेक्स्ट</p>`;\ngeneratePDF(htmlContent, 'output.pdf');\n
\n\n

Puppeteer इसके लिए आदर्श है:

\n\n
    \n
  • जटिल HTML टेम्पलेट्स को PDF में बदलना
  • \n
  • CSS स्टाइल, Flexbox, Grid के साथ PDF बनाना
  • \n
  • पूर्ण दृश्य नियंत्रण के साथ सर्वर पर PDF जनरेशन
  • \n
\n\n

4. pdf-lib — हल्की और तेज़ लाइब्रेरी

\n\n

pdf-lib बिना बाहरी निर्भरता के PDF दस्तावेज़ बनाने और संशोधित करने के लिए एक आधुनिक लाइब्रेरी है। यह Node.js और ब्राउज़र दोनों में काम करता है। यह फ़ॉन्ट, इमेज, फॉर्म और एनोटेशन को सपोर्ट करता है।

\n\n

स्थापना:

\n\n
npm install pdf-lib\n
\n\

अनुशंसाएँ