翻译|行业资讯|编辑:吉炜炜|2025-09-15 10:31:48.417|阅读 55 次
概述:在 ASP.NET 应用程序中生成 PDF 是一个常见需求——无论是生成发票、报告、表单,还是导出动态内容。在本教程中,我们将演示如何在 ASP.NET Core Web 应用程序中使用 Spire.PDF for .NET 生成 PDF 文档,包括从零创建 PDF 以及将 HTML 转换为 PDF 的示例。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
在 ASP.NET 应用程序中生成 PDF 是一个常见需求——无论是生成发票、报告、表单,还是导出动态内容。与其依赖复杂的 PDF API 或第三方打印驱动程序,不如使用 Spire.PDF for .NET,这是一款专业且轻量级的库,能够让开发人员以编程方式创建和操作 PDF 文档。
在本教程中,我们将演示如何在 ASP.NET Core Web 应用程序中使用 Spire.PDF for .NET 生成 PDF 文档,包括从零创建 PDF 以及将 HTML 转换为 PDF 的示例。
加入Spire技术交流QQ群(125237868),与更多开发者一起提升文档开发技能。
Spire.PDF 是一款专为开发人员设计的 .NET PDF 库,能够快速、可靠地处理 PDF 功能。其主要优势包括:
第一步:创建新的 ASP.NET Core Web 应用
第二步:通过 NuGet 安装 Spire.PDF
或者使用 程序包管理器控制台 (Package Manager Console) 安装:
Install-Package Spire.PDF
第三步:添加 PDF 生成控制器
using Microsoft.AspNetCore.Mvc; using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; namespace PdfDemoApp.Controllers { public class PdfController : Controller { public IActionResult CreatePdf() { // 创建一个新的 PDF 文档 PdfDocument doc = new PdfDocument(); PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(40)); // 在页面上绘制文本 PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("宋体", 25f, FontStyle.Regular), true); PdfSolidBrush brush = new PdfSolidBrush(Color.Black); page.Canvas.DrawString("通过 ASP.NET Core 创建 PDF", font, brush, 10, 50); // 保存到内存流 using (MemoryStream ms = new MemoryStream()) { doc.SaveToStream(ms); doc.Close(); ms.Position = 0; // 返回 PDF 文件 return File(ms.ToArray(), "application/pdf", "Generated.pdf"); } } } }
第四步(可选):在视图中添加按钮或链接
打开 Views/Home/Index.cshtml (或你的半岛外围网上直营视图文件)。添加如下按钮或链接:
<div> <a asp-controller="Pdf" asp-action="CreatePdf" class="btn btn-primary"> 从零创建 PDF </a> </div>
这里使用了 ASP.NET Core 的标签帮助器 (Tag Helpers) 来生成正确的路由(/Pdf/CreatePdf)。
效果图:
除了文本之外,Spire.PDF还支持向 PDF 添加多种元素,例如图片、图形、表格、列表、超链接、注释以及水印。
Spire.PDF允许将 HTML 内容直接转换为 PDF 文件。此功能特别适用于生成发票、报告、收据,或将带有样式的网页以一致的格式导出为 PDF。
要将 HTML 渲染为 PDF,Spire.PDF 依赖外部渲染引擎。目前可以选择 Qt WebEngine 或 Google Chrome 。在本指南中,我们将使用 Qt WebEngine。
配置 Qt 插件:
解压缩安装包,找到 plugins 目录,例如: C:\plugins-windows-x64\plugins
在代码中注册插件路径:
HtmlConverter.PluginPath = @"C:\plugins-windows-x64\plugins";插件准备好后,你就可以参考前面步骤,在控制器中添加以下代码片段,从 HTML 内容生成 PDF 输出。
using Microsoft.AspNetCore.Mvc; using Spire.Additions.Qt; using Spire.Pdf.Graphics; using System.Drawing; namespace PdfDemoApp.Controllers { public class HtmlToPdfController : Controller { [HttpGet] public IActionResult HtmlToPdf() { // 示例 HTML 字符串 string html = @" <html> <head> <style> body { font-family: Arial, sans-serif; } h1 { color: #2563eb; } </style> </head> <body> <h1>ASP.NET Core:从 HTML 创建 PDF</h1> <p>此 PDF 使用基于 Qt 的转换器生成。</p> </body> </html>"; // Qt 插件文件夹路径 // ⚠️ 确保该文件夹在服务器或部署环境中存在 string pluginPath = @"C:\plugins-windows-x64\plugins"; HtmlConverter.PluginPath = pluginPath; // 创建临时文件路径(在服务器端) string tempFile = Path.GetTempFileName(); // 使用 Qt 将 HTML 字符串转换为 PDF HtmlConverter.Convert( html, tempFile, enableJavaScript: true, timeout: 100000, // 超时时间,毫秒 pageSize: new SizeF(595, 842), // A4 页面大小(点) margins: new PdfMargins(40), // 40pt 边距 LoadHtmlType.SourceCode // 从 HTML 字符串加载 ); // 将生成的 PDF 读取到内存 byte[] fileBytes = System.IO.File.ReadAllBytes(tempFile); // 清理临时文件 System.IO.File.Delete(tempFile); // 将 PDF 返回到浏览器进行下载 return File(fileBytes, "application/pdf", "HtmlToPdf.pdf"); } } }效果图:
此示例将行内 HTML 转换为格式准确的 PDF。
借助 Spire.PDF for .NET,你可以轻松在 ASP.NET Core 应用程序中生成 PDF 。无论是从零开始创建 PDF,还是在 C# 中进行 HTML 转 PDF 转换,Spire.PDF 都能提供可靠、对开发者友好的解决方案 —— 无需任何外部依赖。
如果你还需要通过 Word 文档生成 PDF,可以使用 Spire.Doc for .NET ,这是 Spire 系列的另一款产品。两者结合使用,可以覆盖 PDF 文档生成的完整场景 。
通过集成这些工具,开发者能够简化工作流程,减少对 Adobe 或其他第三方组件的依赖,并确保输出文档的一致性与专业质量。这将使你的 ASP.NET PDF 解决方案更具 可扩展性、可维护性 ,并适用于企业级应用。
不需要。Spire.PDF 是独立的库,可以完全脱离 Adobe Acrobat 使用。
不可以。Word 转 PDF 功能由 Spire.Doc for .NET 提供,而不是 Spire.PDF。如果项目需要,你可以将两者结合使用。
Spire.PDF 支持为 PDF 设置密码、权限和数字签名,以保障文档安全。
支持。它既能在 ASP.NET Core中使用,也兼容 ASP.NET Framework 。
————————————————————————————————————————
关于慧都科技:
慧都科技是一家行业数字化解决方案公司,长期专注于软件、油气与制造行业。公司基于深入的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与长期竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技E-iceblue的官方授权代理商,提供E-iceblue系列产品免费试用,咨询,正版销售等于一体的专业化服务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化信创,帮助企业高效构建文档处理的应用程序。
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询 ;技术交流Q群(125237868)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn
文章转载自:慧都网