Darmowe interfejsy API platformy .NET do przetwarzania dokumentów PDF
Biblioteka Open Source .NET do tworzenia, edytowania, ładowania i manipulowania plikami PDF. Dodaj nowe strony, tabele, obrazy, tekst i kształty do plików PDF.
QuestPDF to bardzo przydatna nowoczesna biblioteka .NET o otwartym kodzie źródłowym, która umożliwia programistom łatwe generowanie, odczytywanie, modyfikowanie i manipulowanie dokumentami PDF. Biblioteka jest bardzo bogata w funkcje i oferuje silnik układu zaprojektowany z myślą o pełnej obsłudze stronicowania. Biblioteka jest bardzo łatwa w obsłudze iz pewnością może przyspieszyć cykl rozwoju. Biblioteka obsługuje funkcję hot-reload, co oznacza, że zapewnia programistom wyniki w czasie rzeczywistym bez konieczności ponownej kompilacji kodu.
Biblioteka QuestPDF jest bardzo płynna i bardzo łatwa do tworzenia, dostosowywania i zarządzania niektórymi z najbardziej złożonych dokumentów za pomocą zaledwie kilku linii kodu. Istnieje kilka innych funkcji części biblioteki, takich jak rysowanie prostego tekstu, rysowanie tekstu z niestandardowym stylem, obsługa stronicowania, obsługa niestandardowych czcionek, odstępy między literami, niestandardowe odstępy między akapitami, obsługa Unicode, wstawianie obrazów, zarządzanie współczynnikiem proporcji obrazu, renderowanie obramowania, wstawianie hiperłącza, rotacja treści i obrazu i tak dalej.
Pierwsze kroki z QuestPDF
Biblioteka QuestPDF jest dostępna jako pakiet nuget. Dlatego zdecydowanie zaleca się użycie NuGet do zainstalowania QuestPDF w swoim projekcie. Użyj następującego polecenia, aby instalacja przebiegła pomyślnie.
Zainstaluj QuestPDF z Nuget
// Package Manager
Install-Package QuestPDF
// .NET CLI
dotnet add package QuestPDF
// Package reference in .csproj file
Możesz także zainstalować go ręcznie; pobierz pliki najnowszej wersji bezpośrednio z repozytorium GitHub.
Łatwe tworzenie plików PDF za pośrednictwem biblioteki .NET
Otwarta biblioteka PDF QuestPDF umożliwia twórcom oprogramowania użycie zaledwie kilku prostych poleceń kodu .NET do tworzenia dokumentów PDF w ich własnych aplikacjach. Biblioteka ułatwia programistom definiowanie rozmiaru strony, marginesów, koloru tła, stylu tekstu, rozmiaru czcionki, nagłówka i stopki strony, zawartości strony, odstępów i tak dalej. Aktualizacja istniejących plików PDF jest również bardzo łatwa.
Twórz pliki PDF za pośrednictwem biblioteki .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");
Zarządzaj tekstem i formatowaniem za pomocą interfejsu API języka C#
Biblioteka QuestPDF zapewnia kilka ważnych funkcji do obsługi wstawiania tekstu oraz rysowania tekstu w dokumentach PDF. Umożliwia programistom rysowanie tekstu z domyślnym stylem, a także niestandardowym stylem, indeksem dolnym i górnym, dostosowywanie linii tekstu, dostosowywanie odstępów między literami, wyrównanie czcionek, ustawianie wzoru typografii, niestandardowe odstępy między akapitami, ustawianie kierunku tekstu, wprowadzanie numerów stron, dodawanie hiperłączy i tak dalej na.
Indeks dolny i górny w plikach PDF za pośrednictwem biblioteki .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.");
});
Dodawaj i zarządzaj obrazami w formacie PDF za pośrednictwem biblioteki C#
Biblioteka Open Source PDF QuestPDF zawiera pełną obsługę dodawania statycznych i dynamicznych obrazów w aplikacjach C# .NET. Twórcy oprogramowania mogą z łatwością umieszczać obrazy statyczne w swoich dokumentach PDF w dowolnym popularnym formacie obrazu rastrowego, takim jak JPG, PNG, BMB i tak dalej. W przypadku dynamicznych obrazów oferuje elastyczne układy, dlatego trudno jest przewidzieć rozdzielczość obrazu. Aby uzyskać najlepszą klarowność obrazu, zaleca się generowanie obrazów o określonej rozdzielczości. Jest bardzo przydatny do tworzenia map / wykresów.
Dodaj obrazy do pliku PDF za pośrednictwem biblioteki .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);
Wstaw tabele w formacie PDF za pośrednictwem C# API
QuestPDF umożliwia programistom komputerowym osiągnięcie bardziej wyrafinowanych struktur niż jakakolwiek kombinacja elementów Row i Column. Aby utworzyć prostą instancję tabeli, użytkownicy muszą opisać szerokość każdej kolumny, a następnie umieścić w niej dowolną liczbę wierszy i kolumn. Biblioteka obsługuje takie funkcje, jak dodawanie nagłówka lub stopki tabeli, dodawanie nowych wierszy, wstawianie nowych komórek, usuwanie komórek, rozpiętości wierszy i rozpiętości kolumn, lverlapping komórek i wiele innych.
Utwórz prostą tabelę w pliku PDF za pośrednictwem biblioteki .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();
}
});