C# (.NET) में PDF निर्माण: पुस्तकालयों और उपकरणों का अवलोकन

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

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

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

C# (.NET) में PDF निर्माण: पुस्तकालयों और उपकरणों का पूर्ण अवलोकन



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



1. iTextSharp / .NET के लिए iText 7



iText PDF निर्माण की दुनिया में वास्तविक मानक है। यह पुस्तकालय 2000 से अस्तित्व में है और सक्रिय रूप से विकसित हो रहा है। .NET के लिए iText 7 संस्करण उपलब्ध है (NuGet पैकेज itext7)।



क्षमताएँ:

  • सामग्री पर पूर्ण नियंत्रण: टेक्स्ट, तालिकाएँ, चित्र, एनोटेशन।
  • फॉर्म (AcroForms), डिजिटल हस्ताक्षर, एन्क्रिप्शन के साथ कार्य।
  • PDF/A (संग्रहीत भंडारण) के लिए समर्थन।
  • उच्च प्रदर्शन।


नुकसान:

  • जटिल API (निर्देशांक के साथ निम्न-स्तरीय कार्य)।
  • व्यावसायिक उपयोग के लिए सशुल्क लाइसेंस की आवश्यकता है (ओपन-सोर्स के लिए AGPL)।


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

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

public void CreatePdf(string filePath){ using (var writer = new PdfWriter(filePath)) using (var pdf = new PdfDocument(writer)) using (var document = new Document(pdf)) { document.Add(new Paragraph("नमस्ते, दुनिया!")); document.Add(new Paragraph("यह iText 7 के साथ बनाया गया PDF है।")); }}


2. PDFsharp



PDFsharp .NET के लिए एक हल्का ओपन-सोर्स पुस्तकालय है (GDI+ के लिए भी संस्करण उपलब्ध है)। यह सरल कार्यों के लिए उपयुक्त है: टेक्स्ट, तालिकाओं, चित्रों के साथ दस्तावेज़ बनाना।



क्षमताएँ:

  • सरल और सहज API।
  • फ़ॉन्ट समर्थन (सिरिलिक सहित)।
  • ग्राफिकल प्रिमिटिव (रेखाएँ, आकृतियाँ) के साथ कार्य।
  • मुफ्त (MIT लाइसेंस)।


नुकसान:

  • जटिल तत्वों (फॉर्म, बुकमार्क) के लिए सीमित समर्थन।
  • बड़ी मात्रा में iText से धीमा।


उदाहरण:

using PdfSharp.Pdf;using PdfSharp.Drawing;

public void CreatePdf(string filePath){ using (var document = new PdfDocument()) { var page = document.AddPage(); using (var gfx = XGraphics.FromPdfPage(page)) { var font = new XFont("Arial", 20, XFontStyle.Regular); gfx.DrawString("नमस्ते, दुनिया!", font, XBrushes.Black, new XPoint(40, 100)); } document.Save(filePath); }}


3. QuestPDF



QuestPDF एक आधुनिक पुस्तकालय है जिसमें fluent API है, जो "layout-first" अवधारणा से प्रेरित है। यह दस्तावेज़ संरचना को घोषणात्मक रूप से वर्णित करने की अनुमति देता है, जो जटिल लेआउट बनाने को बहुत सरल बनाता है।



क्षमताएँ:

  • घोषणात्मक शैली (WPF या HTML की तरह)।
  • स्वचालित पृष्ठ विभाजन (pagination)।
  • तालिकाओं, शीर्षकों, हेडर और फुटर के लिए समर्थन।
  • सीमा के साथ मुफ्त संस्करण (10 पृष्ठों तक)।


नुकसान:

  • मुफ्त संस्करण सीमित है।
  • iText की तुलना में कम लचीलापन (मनमाना ग्राफिक्स बनाना कठिन)।


उदाहरण:

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

public void CreatePdf(string filePath){ Document.Create(container => { container.Page(page => { page.Size(PageSizes.A4); page.Margin(30); page.Content().Column(col => { col.Item().Text("नमस्ते, दुनिया!").FontSize(20); col.Item().Text("यह QuestPDF है।").FontSize(14); }); });

अनुशंसाएँ