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

Bezplatné rozhraní .NET API pro zpracování dokumentů PDF

Open Source .NET knihovna pro vytváření, úpravy, načítání a manipulaci s PDF. Přidejte nové stránky, tabulky, obrázky, text a tvary do souborů PDF.

QuestPDF je velmi užitečná open source moderní knihovna .NET, která umožňuje vývojářům softwaru snadno vytvářet, číst, upravovat a manipulovat s dokumenty PDF. Knihovna je velmi bohatá na funkce a nabízí modul pro rozvržení navržený s ohledem na plnou podporu stránkování. Knihovna je velmi snadno ovladatelná a může jistě urychlit váš životní cyklus vývoje. Knihovna podporuje funkci hot-reload, což znamená, že poskytuje vývojářům výsledky v reálném čase bez nutnosti rekompilace kódu.

Knihovna QuestPDF je velmi plynulá a lze ji velmi snadno vytvářet, přizpůsobovat a spravovat některé z nejsložitějších dokumentů pomocí pouhých několika řádků kódu. Součástí knihovny je několik dalších funkcí, jako je kreslení jednoduchého textu, kreslení textu s vlastním stylem, podpora stránkování, podpora vlastních písem, mezery mezi písmeny, vlastní mezery mezi odstavci, podpora Unicode, vkládání obrázků, správa poměru stran obrázku, vykreslování ohraničení, vkládání hypertextové odkazy, otáčení obsahu a obrázků a tak dále.

Previous Next

Začínáme s QuestPDF

Knihovna QuestPDF je k dispozici jako balíček nuget. Takže důrazně doporučujeme použít NuGet k instalaci QuestPDF do vašeho projektu. Pro úspěšnou instalaci použijte prosím následující příkaz.

Nainstalujte QuestPDF z Nuget

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

Můžete jej také nainstalovat ručně; stáhněte si soubory nejnovější verze přímo z úložiště GitHub.

Snadné vytváření PDF prostřednictvím knihovny .NET

Open source PDF knihovna QuestPDF umožňuje vývojářům softwaru používat pouze několik jednoduchých příkazů kódu .NET k vytváření dokumentů PDF v rámci jejich vlastních aplikací. Knihovna usnadňuje vývojářům definovat velikost stránky, okraje, barvu pozadí, styl textu, velikost písma, záhlaví a zápatí stránky, obsah stránky, mezery a tak dále. Je také velmi snadné aktualizovat vaše stávající soubory PDF.

Vytvářejte soubory PDF prostřednictvím knihovny .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");

Správa textu a formátování pomocí C# API

Knihovna QuestPDF poskytuje několik důležitých funkcí pro manipulaci s vkládáním textu a kreslením textu do dokumentů PDF. Umožňuje vývojářům kreslit text s výchozím stylem, stejně jako vlastní styl, dolní a horní index, upravit textové řádky, upravit mezery mezi písmeny, zarovnání písma, nastavit typografický vzor, vlastní mezery mezi odstavci, nastavit směr textu, vložit čísla stránek, přidat hypertextový odkaz atd. na.

Dolní a horní index v souborech PDF prostřednictvím knihovny .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.");
}); 

Přidat a spravovat obrázky v PDF prostřednictvím knihovny C#

Open source PDF knihovna QuestPDF obsahuje kompletní podporu pro přidávání statických i dynamických obrázků do C# .NET aplikací. Vývojáři softwaru mohou snadno umístit statické obrázky do svého dokumentu PDF v jakémkoli běžném formátu rastrového obrázku, jako je JPG, PNG, BMB a tak dále. Pro dynamické obrázky nabízí flexibilní rozvržení, proto je těžké předvídat rozlišení obrázku. Pro dosažení nejlepší čistoty obrazu se doporučuje generovat obrázky se specifikovaným rozlišením. Je to velmi užitečné pro vytváření map / grafů.

Přidejte obrázky do PDF prostřednictvím knihovny .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); 

Vkládání tabulek do PDF přes C# API

QuestPDF umožňuje počítačovým programátorům dosáhnout sofistikovanějších struktur než jakákoli kombinace prvků Row a Column. Aby uživatelé vytvořili jednoduchou instanci tabulky, musí popsat šířku každého sloupce a poté do něj umístit libovolný počet řádků a sloupců. Knihovna podporuje funkce jako přidání záhlaví nebo zápatí tabulky, přidání nových řádků, vložení nových buněk, odstranění buněk, rozpětí řádků a sloupců, překrývání buněk a mnoho dalších.

Vytvořte jednoduchou tabulku v souboru PDF prostřednictvím knihovny .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();
    }
});
 Čeština