C# (.NET) में PDF जनरेशन: सर्वश्रेष्ठ लाइब्रेरीज़ और कोड उदाहरण

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

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

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

C# (.NET) में PDF जनरेशन: लाइब्रेरीज़ का अवलोकन और व्यावहारिक उदाहरण



PDF दस्तावेज़ जनरेट करना C# में कॉर्पोरेट डेवलपमेंट में सबसे आम कार्यों में से एक है। रिपोर्ट, चालान, इनवॉइस, अनुबंध - ये सब प्रोग्रामेटिक रूप से बनाना सुविधाजनक है। .NET इकोसिस्टम में कई परिपक्व लाइब्रेरीज़ मौजूद हैं, प्रत्येक की अपनी खूबियाँ हैं। इस लेख में हम चार मुख्य टूल्स का विश्लेषण करेंगे, कोड उदाहरण दिखाएंगे और आपके प्रोजेक्ट के लिए उपयुक्त चुनने में मदद करेंगे।



1. iTextSharp / iText 7 for .NET



iText - शायद PDF के साथ काम करने के लिए सबसे प्रसिद्ध लाइब्रेरी। iTextSharp संस्करण .NET Framework के लिए Java लाइब्रेरी का पोर्ट था। वर्तमान में iText 7 for .NET (ओपन-सोर्स प्रोजेक्ट्स के लिए AGPL लाइसेंस या वाणिज्यिक) प्रासंगिक है।



क्षमताएँ:

  • शून्य से PDF निर्माण
  • टेम्पलेट्स के साथ कार्य (PdfTemplate)
  • चित्र, तालिकाएँ, सूचियाँ जोड़ना
  • Unicode, सिरिलिक लिपि का समर्थन
  • डिजिटल हस्ताक्षर, एन्क्रिप्शन


उदाहरण: तालिका के साथ सरल दस्तावेज़

using iText.Kernel.Pdf;using iText.Layout;using iText.Layout.Element;

public void CreateSimplePdf(string filePath){ using (PdfWriter writer = new PdfWriter(filePath)) using (PdfDocument pdf = new PdfDocument(writer)) using (Document doc = new Document(pdf)) { doc.Add(new Paragraph("नमस्ते, दुनिया!")); Table table = new Table(3); table.AddCell("नाम"); table.AddCell("आयु"); table.AddCell("शहर"); table.AddCell("अन्ना"); table.AddCell("28"); table.AddCell("मॉस्को"); doc.Add(table); }}


2. PDFsharp / MigraDoc



PDFsharp - एक हल्की ओपन-सोर्स लाइब्रेरी (MIT)। MigraDoc के साथ मिलकर यह "वर्ड प्रोसेसर" शैली में दस्तावेज़ों का वर्णन करने की अनुमति देता है: पैराग्राफ, स्टाइल, हेडर और फुटर। यह जटिल ग्राफिक्स के बिना सरल रिपोर्ट जनरेट करने के लिए उपयुक्त है।



लाभ:

  • कम सीखने की अवस्था
  • सिरिलिक लिपि के लिए अच्छा समर्थन
  • लाइसेंसिंग की आवश्यकता नहीं
  • .NET Framework और .NET Core के साथ काम करता है


उदाहरण: MigraDoc के माध्यम से दस्तावेज़ निर्माण

using MigraDoc.DocumentObjectModel;using MigraDoc.Rendering;

public void CreateWithMigraDoc(string filePath){ Document doc = new Document(); Section section = doc.AddSection(); Paragraph para = section.AddParagraph("रिपोर्ट शीर्षक"); para.Format.Font.Size = 18; para.Format.Font.Bold = true; section.AddParagraph("यह रिपोर्ट का टेक्स्ट है। PDFsharp और MigraDoc का उपयोग करके जनरेट किया गया।"); PdfDocumentRenderer renderer = new PdfDocumentRenderer(true); renderer.Document = doc; renderer.RenderDocument(); renderer.PdfDocument.Save(filePath);}


3. QuestPDF



QuestPDF - एक आधुनिक लाइब्रेरी जिसमें फ्लुएंट इंटरफ़ेस (LINQ जैसा सिंटैक्स) है। यह MIT लाइसेंस (वाणिज्यिक उपयोग के लिए मुफ्त) के तहत वितरित की जाती है। सक्रिय रूप से विकसित हो रही है, .NET 6/7/8 का समर्थन करती है।



मुख्य विशेषताएँ:

  • लेआउट का घोषणात्मक निर्माण
  • स्वचालित पृष्ठ विभाजन
  • चित्र, SVG, QR कोड का समर्थन
  • उच्च प्रदर्शन


उदाहरण: चालान जनरेशन

using QuestPDF.Fluent;using QuestPDF.Helpers;using QuestPDF.Infrastructure;

public byte[] GenerateInvoice(){ return Document.Create(container => { container.Page(page => { page.Size(PageSizes.A4); page.Margin(2, Unit.Centimetre); page.DefaultTextStyle(x => x.FontSize(12)); page.Header().Element(ComposeHeader); page.Content().Element(ComposeContent); page.Footer().AlignCenter().Text(x => {

अनुशंसाएँ