QuestPDF 是一个现代化、开源的 .NET PDF 生成库

72 阅读1分钟

QuestPDF 是一个现代化、开源的 .NET PDF 生成库,专注于高性能、响应式布局和易用性。它允许开发者通过流式 API 以声明式方式构建复杂的 PDF 文档,支持文本、图片、表格、分页、样式等多种元素,适合报表、发票、合同等场景。

主要特点:

  • 完全用 C# 编写,跨平台(支持 Windows、Linux、macOS)
  • 响应式布局,类似网页设计
  • 支持文本、图片、表格、分页、样式等
  • API 直观,易于维护和扩展
  • 性能优异,适合批量生成 PDF

用法举例:生成简单 PDF

1. 安装 NuGet 包

dotnet add package QuestPDF

2. 代码示例:生成带标题和内容的 PDF

using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

class Program
{
    static void Main()
    {
        var document = Document.Create(container =>
        {
            container.Page(page =>
            {
                page.Size(PageSizes.A4);
                page.Margin(2, Unit.Centimetre);
                page.DefaultTextStyle(x => x.FontSize(20));

                page.Header()
                    .Text("QuestPDF 示例文档")
                    .SemiBold().FontSize(36).FontColor(Colors.Blue.Medium);

                page.Content()
                    .Column(col =>
                    {
                        col.Item().Text("欢迎使用 QuestPDF 生成 PDF 文档。");
                        col.Item().Text("你可以轻松添加文本、图片、表格等内容。");
                    });

                page.Footer()
                    .AlignCenter()
                    .Text(x =>
                    {
                        x.CurrentPageNumber();
                        x.Span(" / ");
                        x.TotalPages();
                    });
            });
        });

        document.GeneratePdf("output.pdf");
    }
}

说明:

  • 通过 Document.Create 声明式构建页面结构。
  • 支持页眉、内容、页脚等区域布局。
  • 可灵活设置字体、颜色、样式等。
  • 适合生成报表、合同、发票等 PDF 文档。

更多用法可参考官方文档:QuestPDF 官网