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

Gratis .NET API:er för bearbetning av PDF-dokument

Open Source .NET Library för att skapa, redigera, ladda och manipulera PDF-filer. Lägg till nya sidor, tabeller, bilder, text och former till PDF-filer.

QuestPDF är ett mycket användbart modernt .NET-bibliotek med öppen källkod som låter mjukvaruutvecklare skapa, läsa, ändra och manipulera PDF-dokument med lätthet. Biblioteket är mycket funktionsrikt och erbjuder en layoutmotor designad med ett fullständigt personsökningsstöd i åtanke. Biblioteket är mycket lätt att hantera och kan säkert påskynda din utvecklingslivscykel. Biblioteket stöder hot-reload-kapacitet vilket innebär att det ger utvecklare realtidsresultat utan behov av kod omkompilering.

QuestPDF-biblioteket är mycket flytande och mycket lätt att skapa, anpassa och hantera några av de mest komplexa dokumenten med bara några rader kod. Det finns flera andra funktioner i biblioteket som att rita enkel text, rita text med anpassad stil, sökningsstöd, stöd för anpassade teckensnitt, bokstavsavstånd, anpassat styckeavstånd, Unicode-stöd, infoga bilder, hantera bildens bildförhållande, rendera kant, infoga hyperlänkar, innehåll och bildrotation och så vidare.

Previous Next

Komma igång med QuestPDF

QuestPDF-biblioteket är tillgängligt som ett nuget-paket. Så det rekommenderas starkt att använda NuGet för att installera QuestPDF till ditt projekt. Använd följande kommando för framgångsrik installation.

Installera QuestPDF från Nuget

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

Du kan också installera det manuellt; ladda ner de senaste versionsfilerna direkt från GitHub-förrådet.

Enkel PDF-skapande via .NET Library

PDF-biblioteket QuestPDF med öppen källkod gör det möjligt för mjukvaruutvecklare att använda bara ett par enkla .NET-kodkommandon för att skapa PDF-dokument i sina egna applikationer. Biblioteket gör det enkelt för utvecklare att definiera sidstorlek, marginaler, bakgrundsfärg, textstil, teckensnittsstorlek, sidhuvud och sidfot, sidinnehåll, avstånd och så vidare. Det är också mycket enkelt att uppdatera dina befintliga PDF-filer.

Skapa PDF-filer via .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");

Hantera text och formatering via C# API

QuestPDF-biblioteket har tillhandahållit flera viktiga funktioner för att hantera textinfogning och textritning i PDF-dokument. Det gör det möjligt för utvecklare att rita text med standardstil såväl som anpassad stil, nedsänkt och upphöjd, justera textrader, justera bokstavsavstånd, teckensnittsjustering, ställa in typografimönster, anpassat styckeavstånd, ställa in textriktning, injicera sidnummer, lägga till hyperlänk och så på.

Subscript och Superscript i PDF-filer via .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.");
}); 

Lägg till och hantera bilder i PDF via C# Library

PDF-biblioteket med öppen källkod QuestPDF har inkluderat komplett stöd för att lägga till statiska såväl som dynamiska bilder i C# .NET-applikationer. Mjukvaruutvecklare kan enkelt placera statiska bilder i sina PDF-dokument i alla vanliga rasterbildsformat, som JPG, PNG, BMB och så vidare. För dynamiska bilder erbjuder den flexibla layouter, därför är det svårt att förutse bildupplösning. För att få bästa bildskärpa rekommenderas det att skapa bilder med specificerad upplösning. Det är mycket användbart för att skapa kartor / diagram.

Lägg till bilder till PDF via .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); 

Infoga tabeller i PDF via C# API

QuestPDF gör det möjligt för datorprogrammerare att uppnå mer sofistikerade strukturer än någon kombination av rad- och kolumnelementen. För att skapa en enkel tabellinstans måste användarna beskriva bredden på varje kolumn och sedan placera valfritt antal rader och kolumner inuti den. Biblioteket stöder funktioner som att lägga till tabellhuvud eller sidfot, lägga till nya rader, infoga nya celler, ta bort celler, radomfång och kolumnspann, överlappande celler och många fler.

Skapa enkel tabell i PDF-fil via .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();
    }
});
 Svenska