一个.NET开源、现代化、高效的PDF文档生成工具库

文摘   2024-12-07 08:01   广东  

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!


项目介绍

QuestPDF是一个.NET开源、现代化、高效的PDF文档生成工具库。它提供了一套强大的 API,使开发人员能够使用C#语言来创建、编辑和处理 PDF 文件。QuestPDF 提供了丰富的功能,包括布局引擎、多平台支持、高级语言支持、文本样式控制、图像插入、表格和列表、链接和书签、字体和颜色管理、PDF 文件合并和拆分等。

项目特点

  • 开源:QuestPDF是一个开源项目,这意味着其源代码是公开的,并且任何人都可以查看、修改和分发它。这为用户提供了透明度,并允许他们根据需要定制库。
  • .NET:QuestPDF是为.NET平台设计的,这意味着它可以在使用.NET框架或.NET Core的应用程序中无缝集成。
  • 现代化:QuestPDF采用了现代的设计理念和编程实践,使其易于使用且功能强大。它提供了一个简洁且易于发现的Fluent API,使得生成PDF文档变得更加直观和高效。
  • 高效:QuestPDF旨在提供高性能的PDF生成功能。它优化了内存使用和处理速度,以确保即使在生成大型或复杂的PDF文档时也能保持快速和稳定。

安装NuGet包

Install-Package QuestPDF

.NET生成PDF代码

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

更多效果展示

开源地址

https://github.com/QuestPDF/QuestPDF



追逐时光者
DotNetGuide官方公众号,微软MVP,专注于C#/.NET/.NET Core学习、工作、面试干货和实战教程分享。这里聚焦了大量的C#/.NET/.NET Core优质文章、开源项目、实用工具和学习、工作、面试心得。
 最新文章