1. Produk
  2.   PDF
  3.   .NET
  4.   QuestPDF
 
  

API .NET percuma untuk Pemprosesan Dokumen PDF

Perpustakaan .NET Sumber Terbuka untuk mencipta, mengedit, memuatkan dan memanipulasi PDF. Tambahkan halaman, jadual, imej, Teks dan bentuk baharu pada Fail PDF.

QuestPDF ialah perpustakaan .NET moden sumber terbuka yang sangat berguna yang membolehkan pembangun perisian menjana, membaca, mengubah suai dan memanipulasi dokumen PDF dengan mudah. Perpustakaan ini sangat kaya dengan ciri dan menawarkan enjin susun atur yang direka dengan sokongan paging penuh dalam fikiran. Perpustakaan ini sangat mudah dikendalikan dan pastinya boleh mempercepatkan kitaran hayat pembangunan anda. Perpustakaan menyokong keupayaan muat semula panas yang bermakna ia menyediakan hasil masa nyata kepada pembangun tanpa memerlukan penyusunan semula kod.

Pustaka QuestPDF sangat fasih dan sangat mudah untuk mencipta, menyesuaikan dan mengurus beberapa dokumen paling kompleks dengan hanya beberapa baris kod. Terdapat beberapa ciri lain bahagian perpustakaan seperti melukis teks ringkas, melukis teks dengan penggayaan tersuai, sokongan paging, sokongan fon tersuai, jarak huruf, jarak perenggan tersuai, sokongan Unicode, memasukkan imej, mengurus nisbah aspek imej, menjadikan sempadan, memasukkan hiperpautan, kandungan dan putaran imej dan sebagainya.

Previous Next

Bermula dengan QuestPDF

Pustaka QuestPDF tersedia sebagai pakej nuget. Oleh itu, sangat disyorkan menggunakan NuGet untuk memasang QuestPDF pada projek anda. Sila gunakan arahan berikut untuk pemasangan yang berjaya.

Pasang QuestPDF daripada Nuget

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

Anda juga boleh memasangnya secara manual; muat turun fail keluaran terkini terus daripada repositori GitHub.

Penciptaan PDF Mudah melalui Perpustakaan .NET

Pustaka PDF sumber terbuka QuestPDF membolehkan pembangun perisian menggunakan hanya beberapa arahan kod .NET yang mudah untuk mencipta dokumen PDF di dalam aplikasi mereka sendiri. Pustaka memudahkan pembangun untuk menentukan saiz halaman, jidar, warna latar belakang, gaya teks, saiz fon, pengepala dan pengaki halaman, kandungan halaman, jarak dan sebagainya. Ia juga sangat mudah untuk mengemas kini fail PDF sedia ada anda.

Cipta Fail PDF melalui Perpustakaan .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");

Urus Teks & Pemformatan melalui C# API

Pustaka QuestPDF telah menyediakan beberapa ciri penting untuk mengendalikan pemasukan teks serta lukisan teks di dalam dokumen PDF. Ia membolehkan pembangun melukis teks dengan penggayaan lalai serta penggayaan tersuai, subskrip dan superskrip, melaraskan baris teks, melaraskan jarak huruf, penjajaran fon, menetapkan corak tipografi, jarak perenggan tersuai, menetapkan arah teks, menyuntik nombor halaman, menambah pautan dan sebagainya. pada.

Subskrip dan Superskrip dalam Fail PDF melalui Perpustakaan .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.");
}); 

Tambah & Urus Imej dalam PDF melalui Perpustakaan C#

Pustaka PDF sumber terbuka QuestPDF telah menyertakan sokongan lengkap untuk menambah imej statik serta dinamik dalam aplikasi C# .NET. Pembangun perisian boleh dengan mudah meletakkan imej statik di dalam dokumen PDF mereka dalam mana-mana format imej raster biasa, seperti JPG, PNG, BMB dan sebagainya. Untuk imej dinamik ia menawarkan susun atur yang fleksibel, oleh itu sukar untuk meramalkan resolusi imej. Untuk mendapatkan kejelasan imej yang terbaik, adalah disyorkan untuk menjana imej dengan resolusi tertentu. Ia sangat berguna untuk membuat peta / carta.

Tambah Imej ke PDF melalui Perpustakaan .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); 

Sisipkan Jadual dalam PDF melalui C# API

QuestPDF membolehkan pengaturcara komputer mencapai struktur yang lebih canggih daripada mana-mana gabungan elemen Baris dan Lajur. Untuk membuat contoh jadual ringkas, pengguna perlu menerangkan lebar setiap lajur dan kemudian meletakkan sebarang bilangan baris dan lajur di dalamnya. Pustaka menyokong ciri seperti menambah pengepala atau pengaki jadual, menambah baris baharu, memasukkan sel baharu, mengalih keluar sel, Rentang baris dan rentang lajur, sel berlapang dan banyak lagi.

Cipta Jadual Mudah dalam Fail PDF melalui Perpustakaan .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();
    }
});
 Melayu