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

Gratis .NET API-er for behandling av PDF-dokumenter

Open Source .NET-bibliotek for å lage, redigere, laste og manipulere PDF-er. Legg til nye sider, tabeller, bilder, tekst og former til PDF-filer.

QuestPDF er et veldig nyttig åpen kildekode moderne .NET-bibliotek som lar programvareutviklere generere, lese, endre og manipulere PDF-dokumenter med letthet. Biblioteket er svært funksjonsrikt og tilbyr en layoutmotor designet med full personsøkerstøtte i tankene. Biblioteket er veldig enkelt å håndtere og kan sikkert fremskynde utviklingslivssyklusen din. Biblioteket støtter hot-reload-kapasitet, noe som betyr at det gir utviklere sanntidsresultater uten behov for kodekompilering.

QuestPDF-biblioteket er veldig flytende og veldig enkelt å lage, tilpasse og administrere noen av de mest komplekse dokumentene med bare noen få linjer med kode. Det er flere andre funksjoner i biblioteket, for eksempel tegne enkel tekst, tegne tekst med tilpasset stil, sidesøkingsstøtte, støtte for tilpassede fonter, bokstavavstand, tilpasset avsnittsavstand, Unicode-støtte, sette inn bilder, administrere bildets sideforhold, gjengi kantlinje, sette inn hyperkoblinger, innhold og bilderotering og så videre.

Previous Next

Komme i gang med QuestPDF

QuestPDF-biblioteket er tilgjengelig som en nuget-pakke. Så det anbefales på det sterkeste å bruke NuGet for å installere QuestPDF til prosjektet ditt. Bruk følgende kommando for vellykket installasjon.

Installer QuestPDF fra Nuget

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

Du kan også installere det manuelt; last ned de siste utgivelsesfilene direkte fra GitHub-depotet.

Enkel PDF-oppretting via .NET Library

Åpen kildekode PDF-biblioteket QuestPDF gjør det mulig for programvareutviklere å bruke bare et par enkle .NET-kodekommandoer for å lage PDF-dokumenter i sine egne applikasjoner. Biblioteket gjør det enkelt for utviklere å definere sidestørrelse, marger, bakgrunnsfarge, tekststil, skriftstørrelse, sidetopp og bunntekst, sideinnhold, avstand og så videre. Det er også veldig enkelt å oppdatere eksisterende PDF-filer.

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

Administrer tekst og formatering via C# API

QuestPDF-biblioteket har gitt flere viktige funksjoner for håndtering av tekstinnsetting samt teksttegning i PDF-dokumenter. Det gjør det mulig for utviklere å tegne tekst med standard stil, samt tilpasset stil, senket og hevet skrift, justere tekstlinjer, justere bokstavavstand, skriftjustering, angi typografimønster, tilpasset avsnittsavstand, angi tekstretning, sette inn sidetall, legge til hyperkoblinger og så på.

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

Legg til og administrer bilder i PDF via C# Library

Åpen kildekode PDF-biblioteket QuestPDF har inkludert fullstendig støtte for å legge til statiske og dynamiske bilder i C# .NET-applikasjoner. Programvareutviklere kan enkelt plassere statiske bilder inne i PDF-dokumentet i et hvilket som helst vanlig rasterbildeformat, som JPG, PNG, BMB og så videre. For dynamiske bilder tilbyr den fleksible oppsett, derfor er det vanskelig å forutsi bildeoppløsning. For å få best mulig bildeklarhet, anbefales det å generere bilder med spesifisert oppløsning. Det er veldig nyttig for å lage kart / diagrammer.

Legg til bilder til 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); 

Sett inn tabeller i PDF via C# API

QuestPDF gjør det mulig for dataprogrammerere å oppnå mer sofistikerte strukturer enn noen kombinasjon av Row- og Column-elementene. For å lage en enkel tabellforekomst må brukerne beskrive bredden på hver kolonne og deretter plassere et hvilket som helst antall rader og kolonner i den. Biblioteket støtter funksjoner som å legge til topp- eller bunntekst i tabeller, legge til nye rader, sette inn nye celler, fjerne celler, radspenn og kolonnespenn, overlappende celler og mange flere.

Lag 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();
    }
});
 Norsk