你好,這里是 Dotnet 工具箱,定期分享 Dotnet 有趣,實用的工具和組件,希望對您有用!
前言
QuestPDF 是一個開源免費的 .NET 組件庫,可以用來生成 PDF 文檔。在 Github 上有4千多的 Star。項目充分考慮了 PDF 文檔的設計和布局,并且具有完整的分頁支持。
QuestPDF 基于著名的圖形庫 SkiaSharp 創建,可以把您的數據轉換為 PDF 文檔。它提供了一個高度優化的布局引擎,每個內核每分鐘能夠生成超過 1000 個 PDF 文件。并且整個過程是線程安全的。
如何使用
你可以在 Nuget 中搜索并安裝 QuestPDF。
//?Package?Manager
Install-Package?QuestPDF//?.NET?CLI
dotnet?add?package?QuestPDF//?Package?reference?in?.csproj?file
<PackageReference?Include="QuestPDF"?Version="2022.11.0"?/>
下面的代碼中,我們基于 minimal API,創建了一個簡單的 PDF 頁面,它真的非常簡單。
using?QuestPDF.Fluent;
using?QuestPDF.Helpers;
using?QuestPDF.Infrastructure;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");
生成的 PDF 文件如下:

QuestPDF 的 Fluent API 擴展性非常好。即使是復雜的文檔也可以輕松創建和維護,你可以在官網找到更多生成復雜文檔的示例。
QuestPDF Previewer
QuestPDF Previewer 是一個可以簡化和加速開發生命周期的工具,它可以對 PDF 文檔進行預覽。但真正的魔法在于熱重載功能!代碼更新后,預覽也會同步地實時更新,無需重新編譯代碼即可獲得實時結果,充分釋放生產力。
?
項目地址
在?Dotnet工具箱?公眾號內,回復 219??,即可獲取項目地址。
Dotnet 工具箱
掃碼關注我們
分享
點收藏
點點贊
點在看?