PDF दस्तावेज़ों के संसाधन के लिए निःशुल्क .NET APIs

पीडीएफ बनाने, संपादित करने, लोड करने और हेरफेर करने के लिए ओपन सोर्स .NET लाइब्रेरी। पीडीएफ फाइलों में नए पेज, टेबल, इमेज, टेक्स्ट और आकार जोड़ें।

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

QuestPDF लाइब्रेरी कोड की केवल दो पंक्तियों के साथ कुछ सबसे जटिल दस्तावेजों को बनाने, अनुकूलित करने और प्रबंधित करने के लिए बहुत ही धाराप्रवाह और बहुत आसान है। लाइब्रेरी की कई अन्य विशेषताएं हैं जैसे सरल टेक्स्ट बनाना, कस्टम स्टाइल के साथ टेक्स्ट बनाना, पेजिंग सपोर्ट, कस्टम फोंट सपोर्ट, लेटर स्पेसिंग, कस्टम पैराग्राफ स्पेसिंग, यूनिकोड सपोर्ट, इमेज इन्सर्ट करना, इमेज के एस्पेक्ट रेशियो को मैनेज करना, बॉर्डर रेंडर करना, इंसर्ट करना हाइपरलिंक्स, सामग्री और छवि रोटेशन और इसी तरह।

Previous Next

QuestPDF के साथ शुरुआत करना

QuestPDF लाइब्रेरी नगेट पैकेज के रूप में उपलब्ध है। इसलिए अपने प्रोजेक्ट में QuestPDF को स्थापित करने के लिए NuGet का उपयोग करने की अत्यधिक अनुशंसा की जाती है। कृपया सफल स्थापना के लिए निम्न आदेश का उपयोग करें।

Nuget से QuestPDF इंस्टॉल करें

// Package Manager
Install-Package QuestPDF
// .NET CLI
dotnet add package QuestPDF
// Package reference in .csproj file

आप इसे मैन्युअल रूप से भी इंस्टॉल कर सकते हैं; नवीनतम रिलीज़ फ़ाइलें सीधे GitHub रिपॉजिटरी से डाउनलोड करें।

.NET लाइब्रेरी के माध्यम से आसान PDF बनाना

ओपन सोर्स पीडीएफ लाइब्रेरी QuestPDF सॉफ्टवेयर डेवलपर्स को केवल कुछ सरल .NET कोड कमांड का उपयोग करने में सक्षम बनाता है ताकि वे अपने स्वयं के अनुप्रयोगों के अंदर एक पीडीएफ दस्तावेज़ बना सकें। लाइब्रेरी डेवलपर्स के लिए पेज साइज, मार्जिन, बैकग्राउंड कलर, टेक्स्ट स्टाइल, फॉन्ट साइज, पेज हेडर और फुटर, पेज कंटेंट, स्पेसिंग आदि को परिभाषित करना आसान बनाती है। अपनी मौजूदा पीडीएफ फाइलों को अपडेट करना भी बहुत आसान है।

.NET लाइब्रेरी के माध्यम से पीडीएफ फाइल बनाएं

 using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
// code in your main method
Document.Create(container =>
{
    container.Page(page =>
    {
        page.Size(PageSizes.A4);
        page.Margin(2, Unit.Centimetre);
        page.PageColor(Colors.White);
        page.DefaultTextStyle(x => x.FontSize(20));
        page.Header()
            .Text("Hello PDF!")
            .SemiBold().FontSize(36).FontColor(Colors.Blue.Medium);
        page.Content()
            .PaddingVertical(1, Unit.Centimetre)
            .Column(x =>
            {
                x.Spacing(20);
                x.Item().Text(Placeholders.LoremIpsum());
                x.Item().Image(Placeholders.Image(200, 100));
            });
        page.Footer()
            .AlignCenter()
            .Text(x =>
            {
                x.Span("Page ");
                x.CurrentPageNumber();
            });
    });
})
.GeneratePdf("hello.pdf");

सी # एपीआई के माध्यम से पाठ और स्वरूपण प्रबंधित करें

QuestPDF लाइब्रेरी ने PDF दस्तावेज़ों के अंदर टेक्स्ट डालने के साथ-साथ टेक्स्ट ड्राइंग को संभालने के लिए कई महत्वपूर्ण सुविधाएँ प्रदान की हैं। यह डेवलपर्स को डिफॉल्ट स्टाइल के साथ-साथ कस्टम स्टाइलिंग, सबस्क्रिप्ट और सुपरस्क्रिप्ट के साथ टेक्स्ट बनाने, टेक्स्ट लाइन एडजस्ट करने, लेटर स्पेसिंग एडजस्ट करने, फॉन्ट अलाइनमेंट, टाइपोग्राफी पैटर्न सेट करने, कस्टम पैराग्राफ स्पेसिंग, टेक्स्ट डायरेक्शन सेट करने, पेज नंबर इंजेक्ट करने, हाइपरलिंक जोड़ने आदि में सक्षम बनाता है। पर।

.NET लाइब्रेरी के माध्यम से पीडीएफ फाइलों में सबस्क्रिप्ट और सुपरस्क्रिप्ट

 .Text(text =>
{
    text.DefaultTextStyle(x => x.FontSize(20));
    text.ParagraphSpacing(10);
    var highlight = TextStyle.Default.BackgroundColor(Colors.Green.Lighten3);
    text.Span("E=mc").Style(highlight);
    text.Span("2").Superscript().Style(highlight);
    text.Span(" is the equation of mass–energy equivalence.");
    text.EmptyLine();
    text.Span("H").Style(highlight);
    text.Span("2").Subscript().Style(highlight);
    text.Span("O").Style(highlight);
    text.Span(" is the chemical formula for water.");
}); 

सी # लाइब्रेरी के माध्यम से पीडीएफ में छवियां जोड़ें और प्रबंधित करें

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

.NET लाइब्रेरी के माध्यम से PDF में छवियां जोड़ें

 // it is possible to provide an image as:
// 1) a binary array
byte[] imageData = File.ReadAllBytes("path/to/logo.png")
container.Image(imageData)
// 2) a fileName
container.Image("path/myFile.png")
// 3) a stream
using var stream = new FileStream("logo.png", FileMode.Open);
container.Image(stream); 

सी # एपीआई के माध्यम से पीडीएफ में टेबल्स डालें

QuestPDF कंप्यूटर प्रोग्रामर को पंक्ति और स्तंभ तत्वों के किसी भी संयोजन की तुलना में अधिक परिष्कृत संरचना प्राप्त करने में सक्षम बनाता है। एक साधारण तालिका उदाहरण बनाने के लिए उपयोगकर्ताओं को प्रत्येक स्तंभ की चौड़ाई का वर्णन करना होगा और फिर उसके अंदर कितनी भी संख्या में पंक्तियाँ और स्तंभ रखने होंगे। पुस्तकालय तालिका शीर्ष लेख या पाद लेख जोड़ने, नई पंक्तियाँ जोड़ने, नई कोशिकाएँ सम्मिलित करने, कोशिकाओं को हटाने, पंक्ति विस्तार और स्तंभ विस्तार, कोशिकाओं को जोड़ने और बहुत कुछ जैसी सुविधाओं का समर्थन करता है।

.NET लाइब्रेरी के माध्यम से पीडीएफ फाइल में सिंपल टेबल बनाएं

 .Border(1)
.Table(table =>
{
    table.ColumnsDefinition(columns =>
    {
        columns.RelativeColumn();
        columns.RelativeColumn();
        columns.RelativeColumn();
        columns.RelativeColumn();
    });
    // by using custom 'Element' method, we can reuse visual configuration
    table.Cell().Row(1).Column(4).Element(Block).Text("A");
    table.Cell().Row(2).Column(2).Element(Block).Text("B");
    table.Cell().Row(3).Column(3).Element(Block).Text("C");
    table.Cell().Row(4).Column(1).Element(Block).Text("D");
    // for simplicity, you can also use extension method described in the "Extending DSL" section
    static IContainer Block(IContainer container)
    {
        return container
            .Border(1)
            .Background(Colors.Grey.Lighten3)
            .ShowOnce()
            .MinWidth(50)
            .MinHeight(50)
            .AlignCenter()
            .AlignMiddle();
    }
});
 हिन्दी