PDF নথি প্রক্রিয়াকরণের জন্য বিনামূল্যে .NET APIs

ওপেন সোর্স .NET লাইব্রেরি পিডিএফ তৈরি, সম্পাদনা, লোড এবং ম্যানিপুলেট করার জন্য। PDF ফাইলে নতুন পৃষ্ঠা, টেবিল, ছবি, টেক্সট এবং আকার যোগ করুন।

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 লাইব্রেরির মাধ্যমে সহজে পিডিএফ তৈরি

ওপেন সোর্স পিডিএফ লাইব্রেরি QuestPDF সফ্টওয়্যার ডেভেলপারদের তাদের নিজস্ব অ্যাপ্লিকেশনের মধ্যে একটি পিডিএফ ডকুমেন্ট তৈরি করতে কয়েকটি সাধারণ .NET কোড কমান্ড ব্যবহার করতে সক্ষম করে। লাইব্রেরিটি বিকাশকারীদের পৃষ্ঠার আকার, মার্জিন, পটভূমির রঙ, পাঠ্য শৈলী, ফন্টের আকার, পৃষ্ঠার শিরোনাম এবং পাদলেখ, পৃষ্ঠার বিষয়বস্তু, ব্যবধান এবং আরও অনেক কিছু নির্ধারণ করা সহজ করে তোলে। আপনার বিদ্যমান পিডিএফ ফাইলগুলি আপডেট করাও খুব সহজ।

.NET লাইব্রেরির মাধ্যমে PDF ফাইল তৈরি করুন

 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");

C# API এর মাধ্যমে টেক্সট এবং ফরম্যাটিং পরিচালনা করুন

QuestPDF লাইব্রেরি পিডিএফ ডকুমেন্টের অভ্যন্তরে টেক্সট ঢোকানোর পাশাপাশি টেক্সট অঙ্কন পরিচালনার জন্য বেশ কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য প্রদান করেছে। এটি ডেভেলপারদেরকে ডিফল্ট স্টাইলিং সহ কাস্টম স্টাইলিং, সাবস্ক্রিপ্ট এবং সুপারস্ক্রিপ্ট, টেক্সট লাইন সামঞ্জস্য, অক্ষর ব্যবধান সামঞ্জস্য, ফন্ট সারিবদ্ধকরণ, টাইপোগ্রাফি প্যাটার্ন, কাস্টম অনুচ্ছেদ স্পেসিং, পাঠ্যের দিকনির্দেশ নির্ধারণ, পৃষ্ঠা নম্বর ইনজেকশন, হাইপারলিঙ্ক যোগ করতে সক্ষম করে। চালু.

.NET লাইব্রেরির মাধ্যমে PDF ফাইলে সাবস্ক্রিপ্ট এবং সুপারস্ক্রিপ্ট

 .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 অ্যাপ্লিকেশনের মধ্যে স্থির ও গতিশীল ছবি যোগ করার জন্য সম্পূর্ণ সমর্থন অন্তর্ভুক্ত করা হয়েছে। সফ্টওয়্যার বিকাশকারীরা সহজেই তাদের পিডিএফ ডকুমেন্টের মধ্যে স্থির চিত্রগুলিকে যেকোন সাধারণ রাস্টার ইমেজ ফরম্যাটে, যেমন JPG, PNG, BMB ইত্যাদিতে রাখতে পারে। গতিশীল চিত্রগুলির জন্য এটি নমনীয় বিন্যাস সরবরাহ করে, তাই চিত্রের রেজোলিউশনের পূর্বাভাস দেওয়া কঠিন। সর্বোত্তম চিত্র স্পষ্টতা পেতে, নির্দিষ্ট রেজোলিউশন সহ চিত্রগুলি তৈরি করার পরামর্শ দেওয়া হয়। মানচিত্র/চার্ট তৈরির জন্য এটি খুবই উপযোগী।

.NET লাইব্রেরির মাধ্যমে পিডিএফ-এ ছবি যোগ করুন

 // 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); 

C# API এর মাধ্যমে PDF এ সারণী সন্নিবেশ করান

QuestPDF কম্পিউটার প্রোগ্রামারদের সারি এবং কলাম উপাদানগুলির যেকোন সংমিশ্রণের চেয়ে আরও পরিশীলিত কাঠামো অর্জন করতে সক্ষম করে। একটি সাধারণ টেবিলের উদাহরণ তৈরি করতে ব্যবহারকারীদের প্রতিটি কলামের প্রস্থ বর্ণনা করতে হবে এবং তারপরে এর ভিতরে যে কোনও সারি এবং কলাম স্থাপন করতে হবে। লাইব্রেরিটি টেবিলের শিরোনাম বা ফুটার যোগ করা, নতুন সারি যোগ করা, নতুন কক্ষ সন্নিবেশ করা, ঘরগুলি সরানো, সারি স্প্যান এবং কলাম স্প্যান, lverlapping কোষ এবং আরও অনেক কিছুর মতো বৈশিষ্ট্য সমর্থন করে৷

.NET লাইব্রেরির মাধ্যমে PDF ফাইলে সাধারণ টেবিল তৈরি করুন

 .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();
    }
});
 বাংলা