1. محصولات
  2.   PDF
  3.   .NET
  4.   QuestPDF
 
  

API های دات نت رایگان برای پردازش اسناد PDF

کتابخانه .NET منبع باز برای ایجاد، ویرایش، بارگذاری و دستکاری فایل های PDF. صفحات، جداول، تصاویر، متن و اشکال جدید را به فایل‌های PDF اضافه کنید.

QuestPDF یک کتابخانه منبع باز مدرن دات نت بسیار مفید است که به توسعه دهندگان نرم افزار اجازه می دهد اسناد PDF را به راحتی تولید، خواندن، تغییر و دستکاری کنند. این کتابخانه دارای ویژگی های بسیار غنی است و موتور طرح بندی را ارائه می دهد که با در نظر گرفتن پشتیبانی کامل از صفحه بندی طراحی شده است. مدیریت کتابخانه بسیار آسان است و مطمئناً می تواند چرخه عمر توسعه شما را سرعت بخشد. این کتابخانه از قابلیت بارگذاری مجدد داغ پشتیبانی می کند، به این معنی که بدون نیاز به کامپایل مجدد کد، نتایج بلادرنگ را در اختیار توسعه دهندگان قرار می دهد.

کتابخانه QuestPDF بسیار روان است و ایجاد، سفارشی سازی و مدیریت برخی از پیچیده ترین اسناد تنها با چند خط کد بسیار آسان است. چندین ویژگی دیگر در این کتابخانه وجود دارد مانند ترسیم متن ساده، ترسیم متن با استایل سفارشی، پشتیبانی از صفحه‌بندی، پشتیبانی از فونت‌های سفارشی، فاصله بین حروف، فاصله بین پاراگراف‌ها، پشتیبانی یونیکد، درج تصاویر، مدیریت نسبت تصویر، حاشیه رندر، درج هایپرلینک ها، محتوا و چرخش تصویر و غیره.

Previous Next

شروع کار با QuestPDF

کتابخانه QuestPDF به عنوان یک بسته nuget در دسترس است. بنابراین به شدت توصیه می شود از NuGet برای نصب QuestPDF در پروژه خود استفاده کنید. لطفا برای نصب موفق از دستور زیر استفاده کنید.

QuestPDF را از Nuget نصب کنید

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

شما همچنین می توانید آن را به صورت دستی نصب کنید. آخرین فایل های نسخه را مستقیماً از مخزن GitHub دانلود کنید.

ایجاد آسان PDF از طریق کتابخانه دات نت

کتابخانه PDF منبع باز QuestPDF توسعه دهندگان نرم افزار را قادر می سازد تا از چند دستور ساده کد دات نت برای ایجاد اسناد PDF در برنامه های خود استفاده کنند. این کتابخانه به توسعه دهندگان این امکان را می دهد که اندازه صفحه، حاشیه ها، رنگ پس زمینه، سبک متن، اندازه فونت، سرصفحه و پاورقی صفحه، محتوای صفحه، فاصله و غیره را تعریف کنند. همچنین به روز رسانی فایل های PDF موجود خود بسیار آسان است.

ایجاد فایل های PDF از طریق کتابخانه 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");

مدیریت متن و قالب بندی از طریق C# API

کتابخانه QuestPDF چندین ویژگی مهم برای مدیریت درج متن و همچنین ترسیم متن در اسناد PDF فراهم کرده است. این برنامه توسعه دهندگان را قادر می سازد تا متن را با استایل پیش فرض و همچنین استایل سفارشی، زیرنویس و بالانویس، تنظیم خطوط متن، تنظیم فاصله حروف، تراز قلم، تنظیم الگوی تایپوگرافی، فاصله پاراگراف سفارشی، تنظیم جهت متن، تزریق شماره صفحات، اضافه کردن لینک و غیره بکشند. بر.

Subscript و Superscript در فایل‌های 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.");
}); 

افزودن و مدیریت تصاویر در PDF از طریق کتابخانه C#

کتابخانه PDF منبع باز QuestPDF شامل پشتیبانی کامل برای افزودن تصاویر ثابت و پویا در داخل برنامه های C#.NET است. توسعه دهندگان نرم افزار می توانند به راحتی تصاویر استاتیک را در هر فرمت تصویر شطرنجی معمولی مانند JPG، PNG، BMB و غیره در سند PDF خود قرار دهند. برای تصاویر پویا طرح بندی های انعطاف پذیری ارائه می دهد، بنابراین پیش بینی وضوح تصویر دشوار است. برای به دست آوردن بهترین وضوح تصویر، توصیه می شود تصاویری با وضوح مشخص تولید کنید. برای ایجاد نقشه / نمودار بسیار مفید است.

افزودن تصاویر به PDF از طریق کتابخانه 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); 

قرار دادن جداول در PDF از طریق C# API

QuestPDF برنامه نویسان کامپیوتر را قادر می سازد تا به ساختارهای پیچیده تری نسبت به هر ترکیبی از عناصر سطر و ستون دست یابند. برای ایجاد یک نمونه جدول ساده، کاربران باید عرض هر ستون را توصیف کنند و سپس هر تعداد سطر و ستون را در داخل آن قرار دهند. این کتابخانه از ویژگی‌هایی مانند افزودن سرصفحه یا پاورقی جدول، افزودن ردیف‌های جدید، درج سلول‌های جدید، حذف سلول‌ها، دهانه ردیف و ستون، سلول‌های lverlapping و بسیاری دیگر پشتیبانی می‌کند.

ایجاد جدول ساده در فایل PDF از طریق کتابخانه 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();
    }
});
 فارسی