1. Termékek
  2.   PDF
  3.   .NET
  4.   QuestPDF
 
  

Ingyenes .NET API-k PDF-dokumentumok feldolgozásához

Nyílt forráskódú .NET-könyvtár PDF-fájlok létrehozásához, szerkesztéséhez, betöltéséhez és kezeléséhez. Új oldalak, táblázatok, képek, szövegek és alakzatok hozzáadása a PDF-fájlokhoz.

A QuestPDF egy nagyon hasznos, nyílt forráskódú, modern .NET-könyvtár, amely lehetővé teszi a szoftverfejlesztők számára a PDF dokumentumok egyszerű létrehozását, olvasását, módosítását és kezelését. A könyvtár nagyon gazdag funkciókban, és olyan elrendezési motort kínál, amelyet a teljes lapozási támogatást szem előtt tartva terveztek. A könyvtár nagyon könnyen kezelhető, és biztosan felgyorsíthatja a fejlesztési életciklust. A könyvtár támogatja a hot-reload képességet, ami azt jelenti, hogy a fejlesztők számára valós idejű eredményeket biztosít a kód újrafordítása nélkül.

A QuestPDF könyvtár nagyon gördülékeny, és nagyon könnyen létrehozható, testreszabható és kezelhető a legösszetettebb dokumentumok néhány soros kóddal. A könyvtárnak számos egyéb funkciója is van, például egyszerű szöveg rajzolása, szöveg rajzolása egyéni stílussal, lapozás támogatása, egyéni betűtípusok támogatása, betűköz, egyéni bekezdésköz, Unicode támogatás, képek beszúrása, képarány kezelése, szegély megjelenítése, beszúrás hiperhivatkozások, tartalom- és képforgatás és így tovább.

Previous Next

Kezdő lépések a QuestPDF használatával

A QuestPDF könyvtár nuget csomagként érhető el. Ezért erősen ajánlott a NuGet használata a QuestPDF projektbe való telepítéséhez. A sikeres telepítéshez használja a következő parancsot.

Telepítse a QuestPDF-et a Nugetből

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

Kézzel is telepítheti; töltse le a legújabb kiadású fájlokat közvetlenül a GitHub tárhelyről.

Egyszerű PDF-készítés a .NET-könyvtáron keresztül

A QuestPDF nyílt forráskódú PDF-könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy néhány egyszerű .NET-kódparancs használatával PDF-dokumentumokat hozzanak létre saját alkalmazásaikban. A könyvtár segítségével a fejlesztők könnyen meghatározhatják az oldalméretet, a margókat, a háttérszínt, a szövegstílust, a betűméretet, az oldal fejlécét és láblécét, az oldal tartalmát, a térközt és így tovább. A meglévő PDF-fájlok frissítése is nagyon egyszerű.

PDF fájlok létrehozása a .NET Library segítségével

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

Szöveg és formázás kezelése C# API-n keresztül

A QuestPDF könyvtár számos fontos funkciót kínál a PDF dokumentumokon belüli szövegbeszúrás és szövegrajzolás kezelésére. Lehetővé teszi a fejlesztők számára, hogy alapértelmezett stílussal rajzoljanak szöveget, valamint egyéni stílust, alsó indexet és felső indexet, módosítsák a szövegsorokat, állítsák be a betűközt, a betűk igazítását, állítsanak be tipográfiai mintát, egyéni bekezdéstávolságot, szövegirányt állítsanak be, oldalszámokat szúrjanak be, hiperhivatkozásokat adjanak hozzá stb. tovább.

Al- és felső index a PDF-fájlokban a .NET-könyvtáron keresztül

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

Képek hozzáadása és kezelése PDF-ben a C# könyvtáron keresztül

A QuestPDF nyílt forráskódú PDF-könyvtár teljes mértékben támogatja a statikus és dinamikus képek C# .NET alkalmazásokon belüli hozzáadását. A szoftverfejlesztők könnyedén elhelyezhetnek statikus képeket a PDF-dokumentumon belül bármilyen általános raszteres képformátumban, például JPG, PNG, BMB stb. A dinamikus képekhez rugalmas elrendezést kínál, ezért nehéz megjósolni a képfelbontást. A legjobb képtisztaság érdekében javasolt meghatározott felbontású képeket generálni. Nagyon hasznos térképek / diagramok készítéséhez.

Képek hozzáadása PDF-hez a .NET Library segítségével

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

Táblázatok beszúrása PDF-be C# API-n keresztül

A QuestPDF lehetővé teszi a számítógépes programozók számára, hogy kifinomultabb struktúrákat érjenek el, mint a sor és az oszlop elemek bármely kombinációja. Egy egyszerű táblázatpéldány létrehozásához a felhasználóknak le kell írniuk az egyes oszlopok szélességét, majd tetszőleges számú sort és oszlopot kell elhelyezniük benne. A könyvtár olyan funkciókat támogat, mint a táblázat fejléc vagy lábléc hozzáadása, új sorok hozzáadása, új cellák beszúrása, cellák eltávolítása, sor- és oszlophosszak, cellák átlapolása és még sok más.

Egyszerű táblázat létrehozása PDF-fájlban a .NET-könyvtáron keresztül

 .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();
    }
});
 Magyar