C# (.NET) में PDF जनरेशन: लाइब्रेरीज़ के लिए संपूर्ण गाइड

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

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

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

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

\n\n

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

\n\n

.NET में PDF के साथ काम करने के लिए लोकप्रिय लाइब्रेरीज़

\n\n
    \n
  • iTextSharp / iText 7 — सबसे पुरानी और सबसे अधिक कार्यात्मक लाइब्रेरीज़ में से एक। वाणिज्यिक उपयोग के लिए भुगतान वाला संस्करण (iText 7), लेकिन LGPL के तहत एक लीगेसी संस्करण iTextSharp भी है।
  • \n
  • PdfSharp / MigraDoc — ओपन-सोर्स मुफ्त लाइब्रेरी। सरल दस्तावेज़ों और रिपोर्टों के लिए उपयुक्त।
  • \n
  • QuestPDF — फ्लुएंट API के साथ आधुनिक लाइब्रेरी। वाणिज्यिक उपयोग के लिए मुफ्त (MIT लाइसेंस)। न्यूनतम कोड के साथ जटिल दस्तावेज़ बनाने की अनुमति देती है।
  • \n
  • IronPDF — भुगतान वाली लाइब्रेरी, लेकिन बहुत शक्तिशाली कार्यक्षमता के साथ: HTML को PDF में बदलना, फॉर्म के साथ काम करना, पासवर्ड सुरक्षा।
  • \n
  • SelectPdf — HTML से PDF और कई सेटिंग्स के समर्थन वाला एक और भुगतान वाला टूल।
  • \n
\n\n

NuGet के माध्यम से लाइब्रेरीज़ स्थापित करना

\n\n

सभी लाइब्रेरीज़ NuGet पैकेज मैनेजर के माध्यम से मानक तरीके से स्थापित की जाती हैं। स्थापना के उदाहरण:

\n\n
// PdfSharp के लिए\nInstall-Package PdfSharp\n\n// QuestPDF के लिए\nInstall-Package QuestPDF\n\n// iTextSharp (लीगेसी) के लिए\nInstall-Package iTextSharp.LGPLv2.Core
\n\n

उदाहरण 1: PdfSharp का उपयोग करके PDF बनाना

\n\n

PdfSharp सरल कार्यों के लिए एक उत्कृष्ट विकल्प है। नीचे टेक्स्ट और तालिका के साथ दस्तावेज़ बनाने का उदाहरण दिया गया है:

\n\n
using PdfSharp.Pdf;\nusing PdfSharp.Drawing;\n\nclass Program\n{\n    static void Main()\n    {\n        // नया PDF दस्तावेज़ बनाएँ\n        PdfDocument document = new PdfDocument();\n        PdfPage page = document.AddPage();\n        XGraphics gfx = XGraphics.FromPdfPage(page);\n\n        // टेक्स्ट ड्रा करें\n        XFont font = new XFont("Arial", 14);\n        gfx.DrawString("नमस्ते, PDF दुनिया!", font, XBrushes.Black,\n            new XRect(10, 10, page.Width, page.Height), XStringFormats.TopLeft);\n\n        // दस्तावेज़ सहेजें\n        document.Save("HelloWorld.pdf");\n        Console.WriteLine("PDF बन गया!");\n    }\n}
\n\n

उदाहरण 2: QuestPDF के साथ रिपोर्ट जनरेशन

\n\n

QuestPDF एक सुरुचिपूर्ण Fluent API प्रदान करता है। आइए एक सरल चालान-बीजक बनाएँ:

\n\n
using QuestPDF.Fluent;\nusing QuestPDF.Helpers;\nusing QuestPDF.Infrastructure;\n\nclass Program\n{\n    static void Main()\n    {\n        Document.Create(container =>\n        {\n            container.Page(page =>\n            {\n                page.Size(PageSizes.A4);\n                page.Margin(2, Unit.Centimetre);\n                page.DefaultTextStyle(x => x.FontSize(12));\n\n                page.Header().Element(ComposeHeader);\n                page.Content().Element(ComposeContent);\n                page.Footer().AlignCenter().Text("पृष्ठ {0} का {1}",\n                    x => x.CurrentPageNumber(), x => x.TotalPages());\n            });\n        }).GeneratePdf("Invoice.pdf");\n\n        Console.WriteLine("चालान बन गया!");\n    }\n\n    static void ComposeHeader(IContainer container)\n    {\n        container.Row(row =>\n        {\n            row.RelativeItem().Column(column =>\n            {\n                column.Item().Text("चालान-बीजक").Bold().FontSize(20);\n                column.Item().Text($"दिनांक: {DateTime.Now:dd.MM.yyyy}");\n            });\n            row.ConstantItem(100).Image(Placeholders.Image(100, 100));\n        });\n    }\n\n    static void ComposeContent(IContainer container)\n    {\n        container.Table(table =>\n        {\n            // तालिका शीर्षक\n            table.ColumnsDefinition(columns =>\n                    

अनुशंसाएँ