探索 QuestPDF:全平台支持、多功能、专业级的 .NET PDF 库

news/2025/2/11 11:19:01/文章来源:https://www.cnblogs.com/netcore5/p/18709400

QuestPDF 是一个用于生成 PDF 文件的 .NET 库,它提供了一个简洁的 API 和灵活的布局选项,使得在 .NET 应用程序中创建 PDF 文件变得更加简单。

支持多平台,支持的功能有

  • 合并文档
  • 附加文件
  • 提取页面
  • 加密/解密
  • 扩展元数据
  • 限制访问
  • 针对 Web 进行优化
  • 叠加层 / 底层

安装

第一步,老规矩,先安装

dotnet add package QuestPDF

使用


using QuestPDF.Infrastructure;QuestPDF.Settings.License = LicenseType.Community;
// 创建 PDF 文档并进行布局
var document = Document.Create(container =>
{container.Page(page =>{page.Margin(50); // 设置页面边距page.Content().Column(column =>{column.Item().Text("Hello, NetShare!").FontSize(24).Bold(); // 添加文本column.Item().Text("Welcome to follow the official account: Net Sharing");column.Item().Image("20210517111144223.png"); // 插入图像 });});
});// 保存 PDF 文件
document.GeneratePdf("simple-example.pdf");

  • Document.Create() 用于创建 PDF 文档。
  • container.Page() 设置页面内容。
  • page.Content() 设置页面的内容布局,支持各种布局管理器如 Column, Row
  • column.Item() 用于添加单个项目,例如文本、图像等。
  • document.GeneratePdf() 用于生成 PDF 文件并保存到指定路径。

样式和布局

QuestPDF 提供了丰富的布局选项,可以方便地调整页面的样式。比如:

  • 字体和样式:你可以调整文本的字体、大小、颜色、加粗、斜体等。
  • 页边距和对齐方式:设置页面的页边距,并支持内容的对齐。
  • 自定义布局:支持 Column, Row, Stack 等布局管理器,来实现更复杂的布局设计。
column.Item().Text("Centered Text").AlignCenter().FontSize(18).FontColor(Colors.Blue.Medium);

高级功能:生成动态内容,表格

如果你需要动态生成 PDF 内容,可以根据数据生成多个条目。

 var rows = new[]{new { Name = "John", Age = 30 },new { Name = "Jane", Age = 25 },new { Name = "Tom", Age = 35 }};var document = Document.Create(container =>
{container.Page(page =>{page.Content().Column(column =>{column.Item().Text("Dynamic Table").AlignCenter().FontSize(24).Bold();column.Item().Table(table =>{table.ColumnsDefinition(columns =>{columns.ConstantColumn(150);  // 固定宽度columns.RelativeColumn();     // 自动分配剩余空间});table.Header(header =>{header.Cell().Text("Name");header.Cell().Text("Age");});foreach (var row in rows){table.Cell().Text(row.Name);table.Cell().Text(row.Age);}});});});
});// 保存 PDF 文件
document.GeneratePdf("simple-example.pdf");

总结

  • QuestPDF 是一个功能强大的 PDF 生成库,适用于需要灵活布局和自定义样式的场景。
  • 它支持常见的布局管理器(如列和行),以及文本、图像、表格等元素的添加。
  • 你可以使用 QuestPDF 创建简单的文档,也可以处理更复杂的需求,如动态内容、复杂的样式设置等。
  • 该库可供年总收入低于 100 万美元的任何个人或企业免费使用,或作为非营利组织运营,或者是 FOSS 项目,一般公司完全够使用条件。项目要设置QuestPDF.Settings.License = LicenseType.Community;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/882018.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 中堆内存和栈内存上的数据分布和特点

说到 Java 中内存我们一般笼统地划分为堆内存(Heap)和栈内存(Stack),那么哪些数据被放置在堆内存?哪些数据被放置在栈内存?这些数据的分布有什么特点吗?博客:https://www.emanjusaka.com 博客园:https://www.cnblogs.com/emanjusaka 公众号:emanjusaka的编程栈by em…

AspNetCore 实战:三种流式响应机制详解

在现代Web应用中,实时数据传输和高效的数据流处理变得越来越重要。AspNetCore 提供了多种流式响应机制,以满足不同场景下的需求。 在使用ChatGpt,deepseek的适合有没有想过ai的逐字显示回答是怎么实现的,下面将介绍三种主要的流式响应来实现此功能。 Server-Sent Events (S…

java中反射-字节码和类加载器

多态的一个表现 子类类型赋值给父类 Father f1 = New Son() 调用子类方法报错。 调用父类方法OK。这个就是多态 一个对象能用什么方法,并不是取决于 它有什么方法。 而是取决于引用变量的类型(也就是取决于它声明的类型,Father类型) 它能够用的方法,一定是Father中的方法。 …

本地私有化部署DeepSeek,打造自己的大模型知识库

1简介 DeepSeek R1是基于MIT协议开源的大模型,意味着个人和企业可以免费使用,包括商业使用。 众所周知,我们可以在chat.deepseek.com上可以直接免费使用DeepSeek R1的聊天服务。但如果你自己开发的应用需要使用到其api的话,仍然是需要收费的,另外,如果你有机密信息并不想…

五. 数据库

数据库 一. 三级模式 一个数据库可以有多个外模式,只能有一个内模式。 视图对应外模式、基本表对应模式、存储文件对应内模式二. 两级映像 (1) 模式/内模式映像。存在于概念级和内部级之间,实现了概念模式和内模式之间的相互转换。 (2) 外模式/模式映像。存在于外部级和概念级…

Oracle 缩容量方法 --转发 https://www.modb.pro/db/1873006442018521088?utm_source=index_ai

1.系统表空间清理 SYSAUX表空间被称为系统辅助表空间,主要的目的是为SYSTEM表空间减负。1.1 表空间的使用率 比如大表大部分都是AUD$和WRH$开头的AWR基表,AUD$使用SYSTEM表空间,AWR的基表使用SYSAUX表空间。 SELECT df.tablespace_name, COUNT (*) datafile_count,ROUND (SUM…

轻松上手!小白必看:在你的个人电脑上安装DeepSeek R1 大模型

deepseek本地化部署,小白教程,让你的个人电脑也能安装运行大模型!一、deepseek简介 DeepSeek是一个强大的工具,它就像一个聪明的助手,能帮我们处理和分析大量信息。它适用于各种场合,比如理解文字、识别图片,还能根据你的喜好推荐东西。 这个工具很灵活,就像乐高积木,…

macOS Sequoia 15.3.1 (24D70) 正式版 ISO、IPSW、PKG 下载

macOS Sequoia 15.3.1 (24D70) 正式版 ISO、IPSW、PKG 下载macOS Sequoia 15.3.1 (24D70) 正式版 ISO、IPSW、PKG 下载 iPhone 镜像、Safari 浏览器重大更新和 Apple Intelligence 等众多全新功能令 Mac 使用体验再升级 请访问原文链接:https://sysin.org/blog/macOS-Sequoia/…

macOS Sequoia 15.3.1 (24D70) Boot ISO 原版可引导镜像下载

macOS Sequoia 15.3.1 (24D70) Boot ISO 原版可引导镜像下载macOS Sequoia 15.3.1 (24D70) Boot ISO 原版可引导镜像下载 iPhone 镜像、Safari 浏览器重大更新和 Apple Intelligence 等众多全新功能令 Mac 使用体验再升级 请访问原文链接:https://sysin.org/blog/macOS-Sequoi…

如何利用看板工具,让项目进度一目了然?

使用看板评估项目进度需要经历准备、实施、评估与分析以及持续改进与优化等多个阶段。通过合理利用看板工具,团队可以更加高效地管理项目进度,提高项目管理的透明度和协作效率。看板工具最早起源于20世纪50年代的日本丰田生产系统,如今已被广泛应用于软件开发、产品管理、市…

ABB IRB360并联机器人|abb蜘蛛手维修

ABB IRB360并联机器人(也被称为蜘蛛手机器人)发挥着极为重要的作用。然而,如同所有的机械设备一样,它也会面临需要维修的情况。对ABB IRB360并联机器人进行有效的维修不仅能延长其使用寿命,还能确保工业生产的高效进行。一、ABB IRB360并联机器人的结构与常见故障1. 结构特…

为何焦点已从 AI 代理转向AI辅助人类工作模式

前言:随着AI技术的发展,AI行业从AI代理转向了‘AI辅助人类工作模式’。虽然AI代理在演示中很有潜力,但在实际使用时,它的准确性和可靠性远低于人类,限制了它的应用。相反,‘AI辅助人类工作模式’通过将复杂任务拆分成小步骤,帮助人类更高效地完成工作,推动了数据整理和…