ฟรี .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 Library

QuestPDF ไลบรารี PDF แบบโอเพ่นซอร์สช่วยให้นักพัฒนาซอฟต์แวร์สามารถใช้คำสั่งรหัส .NET ง่ายๆ สองสามคำสั่งเพื่อสร้างเอกสาร PDF ภายในแอปพลิเคชันของตนเอง ไลบรารีทำให้นักพัฒนาสามารถกำหนดขนาดหน้า ระยะขอบ สีพื้นหลัง สไตล์ข้อความ ขนาดแบบอักษร ส่วนหัวและส่วนท้ายของหน้า เนื้อหาหน้า การเว้นวรรค และอื่นๆ ได้ง่าย นอกจากนี้ยังง่ายต่อการอัปเดตไฟล์ PDF ที่มีอยู่ของคุณ

สร้างไฟล์ PDF ผ่าน .NET Library

 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 Library

 .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# Library

QuestPDF ไลบรารี PDF แบบโอเพ่นซอร์สได้รวมการสนับสนุนอย่างสมบูรณ์สำหรับการเพิ่มรูปภาพแบบคงที่และไดนามิกภายในแอปพลิเคชัน C# .NET นักพัฒนาซอฟต์แวร์สามารถวางภาพนิ่งภายในเอกสาร PDF ได้อย่างง่ายดายในรูปแบบภาพแรสเตอร์ทั่วไป เช่น JPG, PNG, BMB และอื่นๆ สำหรับภาพไดนามิกนั้นมีการจัดวางที่ยืดหยุ่น ดังนั้นจึงคาดเดาความละเอียดของภาพได้ยาก เพื่อให้ได้ภาพที่ชัดเจนที่สุด ขอแนะนำให้สร้างภาพที่มีความละเอียดที่กำหนด มีประโยชน์มากสำหรับการสร้างแผนที่/แผนภูมิ

เพิ่มรูปภาพเป็น PDF ผ่าน .NET Library

 // 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 ช่วยให้โปรแกรมเมอร์คอมพิวเตอร์สามารถสร้างโครงสร้างที่ซับซ้อนได้มากกว่าการรวมกันขององค์ประกอบแถวและคอลัมน์ ในการสร้างอินสแตนซ์ตารางอย่างง่าย ผู้ใช้ต้องอธิบายความกว้างของแต่ละคอลัมน์ จากนั้นจึงวางแถวและคอลัมน์จำนวนเท่าใดก็ได้ ไลบรารีรองรับคุณลักษณะต่างๆ เช่น เพิ่มส่วนหัวของตารางหรือส่วนท้าย เพิ่มแถวใหม่ แทรกเซลล์ใหม่ ลบเซลล์ ระยะแถวและช่วงคอลัมน์ เซลล์ที่ทับซ้อนกัน และอื่นๆ อีกมากมาย

สร้าง Simple Table ในไฟล์ PDF ผ่าน .NET Library

 .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();
    }
});
 ไทย