NET APIs مجانية لمعالجة مستندات PDF

Open Source .NET Library لإنشاء ملفات PDF وتحريرها وتحميلها ومعالجتها. أضف صفحات وجداول وصور ونصوص وأشكال جديدة إلى ملفات PDF.

QuestPDF هي مكتبة .NET حديثة ومفتوحة المصدر مفيدة للغاية تتيح لمطوري البرامج إنشاء مستندات PDF وقراءتها وتعديلها ومعالجتها بسهولة. المكتبة غنية جدًا بالميزات وتقدم محرك تخطيط مصمم مع وضع دعم الترحيل الكامل في الاعتبار. من السهل جدًا التعامل مع المكتبة ويمكنها بالتأكيد تسريع دورة حياة التطوير لديك. تدعم المكتبة إمكانية إعادة التحميل السريع مما يعني أنها توفر للمطورين نتائج في الوقت الفعلي دون الحاجة إلى إعادة ترجمة التعليمات البرمجية.

تتميز مكتبة QuestPDF بطلاقة وسهلة للغاية لإنشاء وتخصيص وإدارة بعض أكثر المستندات تعقيدًا باستخدام سطرين فقط من التعليمات البرمجية. هناك العديد من الميزات الأخرى جزء من المكتبة مثل رسم نص بسيط ، رسم نص بنمط مخصص ، دعم الترحيل ، دعم الخطوط المخصصة ، تباعد الأحرف ، تباعد الفقرات المخصص ، دعم Unicode ، إدراج الصور ، إدارة نسبة العرض إلى الارتفاع للصورة ، عرض الحدود ، الإدراج الارتباطات التشعبية والمحتوى وتناوب الصورة وما إلى ذلك.

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 بسهولة عبر مكتبة .NET

تتيح مكتبة QuestPDF لمكتبة PDF مفتوحة المصدر لمطوري البرامج استخدام بضعة أوامر بسيطة من كود .NET لإنشاء مستندات 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. إنه يمكّن المطورين من رسم نص باستخدام النمط الافتراضي بالإضافة إلى التصميم المخصص ، والرقم المنخفض والمرتفع ، وضبط خطوط النص ، وضبط تباعد الأحرف ، ومحاذاة الخط ، وتعيين نمط الطباعة ، وتباعد الفقرات المخصص ، وتعيين اتجاه النص ، وإدخال أرقام الصفحات ، وإضافة ارتباط تشعبي وهكذا على.

منخفض و مرتفع في ملفات 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. يمكن لمطوري البرامج بسهولة وضع صور ثابتة داخل مستند PDF الخاص بهم في أي تنسيق صورة نقطية شائع ، مثل JPG و PNG و BMB وما إلى ذلك. بالنسبة للصور الديناميكية ، فإنها توفر تنسيقات مرنة ، وبالتالي يصعب التنبؤ بدقة الصورة. للحصول على أفضل وضوح للصورة ، يوصى بإنشاء صور بدقة محددة. إنه مفيد جدًا لإنشاء الخرائط / الرسوم البيانية.

أضف الصور إلى 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 مبرمجي الكمبيوتر من تحقيق هياكل أكثر تعقيدًا من أي مجموعة من عناصر الصف والعمود. لإنشاء مثيل جدول بسيط ، يحتاج المستخدمون إلى وصف عرض كل عمود ثم وضع أي عدد من الصفوف والأعمدة بداخله. تدعم المكتبة ميزات مثل إضافة رأس أو تذييل للجدول ، وإضافة صفوف جديدة ، وإدراج خلايا جديدة ، وإزالة الخلايا ، ومسافات الصفوف وامتدادات الأعمدة ، وتداخل الخلايا وغيرها الكثير.

إنشاء جدول بسيط في ملف 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();
    }
});
 عربي