API .NET gratuite per l'elaborazione di documenti PDF
Libreria .NET Open Source per creare, modificare, caricare e manipolare PDF. Aggiungi nuove pagine, tabelle, immagini, testo e forme ai file PDF.
QuestPDF è una libreria .NET moderna open source molto utile che consente agli sviluppatori di software di generare, leggere, modificare e manipolare documenti PDF con facilità. La libreria è molto ricca di funzionalità e offre un motore di layout progettato pensando a un supporto completo per il paging. La libreria è molto facile da gestire e può sicuramente accelerare il ciclo di vita dello sviluppo. La libreria supporta la funzionalità di ricarica a caldo, il che significa che fornisce agli sviluppatori i risultati in tempo reale senza la necessità di ricompilare il codice.
La libreria QuestPDF è molto fluida e molto facile da creare, personalizzare e gestire alcuni dei documenti più complessi con solo un paio di righe di codice. Ci sono molte altre funzionalità che fanno parte della libreria come disegnare testo semplice, disegnare testo con uno stile personalizzato, supporto di impaginazione, supporto di caratteri personalizzati, spaziatura delle lettere, spaziatura dei paragrafi personalizzata, supporto Unicode, inserimento di immagini, gestione delle proporzioni dell'immagine, bordi di rendering, inserimento collegamenti ipertestuali, contenuto e rotazione delle immagini e così via.
Guida introduttiva a QuestPDF
La libreria QuestPDF è disponibile come pacchetto nuget. Quindi ti consigliamo vivamente di utilizzare NuGet per installare QuestPDF nel tuo progetto. Utilizzare il seguente comando per un'installazione corretta.
Installa QuestPDF da Nuget
// Package Manager
Install-Package QuestPDF
// .NET CLI
dotnet add package QuestPDF
// Package reference in .csproj file
Puoi anche installarlo manualmente; scarica i file della versione più recente direttamente dal repository GitHub.
Facile creazione di PDF tramite libreria .NET
La libreria PDF open source QuestPDF consente agli sviluppatori di software di utilizzare solo un paio di semplici comandi di codice .NET per creare documenti PDF all'interno delle proprie applicazioni. La libreria consente agli sviluppatori di definire facilmente le dimensioni della pagina, i margini, il colore di sfondo, lo stile del testo, la dimensione del carattere, l'intestazione e il piè di pagina, il contenuto della pagina, la spaziatura e così via. È anche molto facile aggiornare i file PDF esistenti.
Crea file PDF tramite la libreria .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");
Gestisci testo e formattazione tramite l'API C#
La libreria QuestPDF ha fornito diverse funzionalità importanti per la gestione dell'inserimento del testo e del disegno del testo all'interno dei documenti PDF. Consente agli sviluppatori di disegnare il testo con lo stile predefinito e lo stile personalizzato, pedice e apice, regolare le righe di testo, regolare la spaziatura delle lettere, l'allineamento dei caratteri, impostare il modello tipografico, la spaziatura dei paragrafi personalizzata, impostare la direzione del testo, inserire i numeri di pagina, aggiungere collegamenti ipertestuali e così via Su.
Pedice e apice nei file PDF tramite la libreria .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.");
});
Aggiungi e gestisci immagini in PDF tramite la libreria C#
La libreria PDF open source QuestPDF ha incluso il supporto completo per l'aggiunta di immagini statiche e dinamiche all'interno delle applicazioni C# .NET. Gli sviluppatori di software possono inserire facilmente immagini statiche all'interno del loro documento PDF in qualsiasi formato di immagine raster comune, come JPG, PNG, BMB e così via. Per le immagini dinamiche offre layout flessibili, quindi è difficile prevedere la risoluzione dell'immagine. Per ottenere la migliore nitidezza dell'immagine, si consiglia di generare immagini con una risoluzione specificata. È molto utile per creare mappe / grafici.
Aggiungi immagini a PDF tramite la libreria .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);
Inserisci tabelle in PDF tramite API C#
QuestPDF consente ai programmatori di computer di ottenere strutture più sofisticate rispetto a qualsiasi combinazione degli elementi Row e Column. Per creare una semplice istanza di tabella, gli utenti devono descrivere la larghezza di ogni colonna e quindi inserire un numero qualsiasi di righe e colonne al suo interno. La libreria supporta funzionalità come aggiungere intestazione o piè di pagina della tabella, aggiungere nuove righe, inserire nuove celle, rimuovere celle, intervalli di righe e colonne, celle sovrapposte e molto altro.
Crea una tabella semplice in un file PDF tramite la libreria .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();
}
});