翻譯|行業資訊|編輯:吉煒煒|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 。
————————————————————————————————————————
關于慧都科技:
慧都科技是一家行業數字化解決方案公司,長期專注于軟件、油氣與制造行業。公司基于深入的業務理解與管理洞察,以系統化的業務建模驅動技術落地,幫助企業實現智能化運營與長期競爭優勢。在軟件工程領域,我們提供開發控件、研發管理、代碼開發、部署運維等軟件開發全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規、降本增效與風險可控?;鄱伎萍糆-iceblue的官方授權代理商,提供E-iceblue系列產品免費試用,咨詢,正版銷售等于一體的專業化服務。E-iceblue旗下Spire系列產品是國產文檔處理領域的優秀產品,支持國產化信創,幫助企業高效構建文檔處理的應用程序。
歡迎下載|體驗更多E-iceblue產品
獲取更多信息請咨詢 ;技術交流Q群(125237868)
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉載自:慧都網