如何使用 C# 在 ASP.NET 中將 HTML 轉換為 PDF
在現代網頁應用程式中,從 HTML 內容產生文件是一項常見需求。 無論您需要建立發票、報告或任何其他類型的文檔,都可以使用 ASP.NET 中的 IronPDF 庫和 C# 有效地將 HTML 轉換為 PDF。
今天,我們將探討如何設定 IronPDF 並使用它來將 HTML 內容轉換為 PDF 文件。
如何使用 IronPDF 在 ASP.NET 中將 HTML 轉換為 PDF
- 使用 Visual Studio 或您選擇的 IDE 建立一個 ASP.NET 專案。
- 安裝 IronPDF 並設定您的許可證金鑰。
- 建立一個新的控制器或頁面,用於處理 PDF 轉換。
- 在控制器中編寫轉換邏輯。
- 設定路由以允許存取您的 PDF 產生操作。
IronPDF概述
IronPDF 是一個功能強大的 PDF 庫,可讓開發人員讀取、建立和操作 PDF 文件。 IronPDF 擁有豐富的功能集和快速簡單的安裝流程,可讓您立即將 PDF 專案提升到一個新的水平。 其直覺的 API 易於學習,如果您希望直接從您的 Web 應用程式產生動態 PDF 文件、執行 PDF 安全任務、PDF 註釋等,它將是理想的選擇。
特徵
- PDF 轉換: IronPDF 可以將 HTML 檔案轉換為 PDF,並完全支援現代網路標準。 您可以放心,IronPDF 將始終從您的 HTML 頁面返回像素級完美的 PDF 檔案。 IronPDF 也可以將其他格式的檔案(例如 DOCX、圖像、RTF 等)轉換為 PDF 檔案。
- PDF 產生:使用 IronPDF,您可以從任何網頁、ASPX 檔案、HTML 字串等產生 PDF。 -安全功能:使用 IronPDF 的安全功能,您可以隨時確保任何敏感 PDF 檔案都是安全的。 使用 IronPDF 加密您的 PDF 文件、設定密碼並設定 PDF 文件的權限。
- PDF 編輯功能:使用 IronPDF,您可以輕鬆處理現有的 PDF 文件、編輯它們以及閱讀 PDF 文件。 IronPDF 提供編輯功能,例如新增頁首和頁尾、在 PDF 頁面上新增文字和影像、新增自訂浮水印、處理 PDF 表單以及分割或合併 PDF 檔案。
先決條件
在開始之前,請確保您已準備好:
- 已安裝Visual Studio或其他 C# 開發環境。
- IronPDF庫已安裝。 您可以從 NuGet 取得,也可以直接從 IronPDF 網站取得。
建立一個新的 ASP.NET 項目
啟動 Visual Studio,然後選擇最符合您需求的 ASP.NET 專案類型。 今天的範例,我將建立一個 ASP.NET Core Web 應用程式(模型-視圖-控制器)。
如何在 ASP.NET 中使用 C# 將 HTML 轉換為 PDF:圖 1
然後,輸入項目名稱並選擇項目存放位置。
如何在 ASP.NET 中使用 C# 將 HTML 轉換為 PDF:圖 2
最後,為專案選擇 .NET Framework,並更改專案的任何其他設置,例如身份驗證類型,或啟用容器支援和 Docker。
如何在 ASP.NET 中使用 C# 將 HTML 轉換為 PDF:圖 3
建立控制器
要建立一個新的控制器來存放我們的 HTML 轉 PDF 程式碼,首先在解決方案資源管理器中右鍵單擊"控制器"資料夾,然後選擇"新增 -> 控制器"。
如何在 ASP.NET 中使用 C# 將 HTML 轉換為 PDF:圖 4
這將彈出一個新窗口,您可以在其中選擇要新增到專案中的控制器類型。 我們選擇了一個空的MVC控制器。
如何在 ASP.NET 中使用 C# 將 HTML 轉換為 PDF:圖 5
最後,我們為新的控制器命名,然後點擊"新增"將其新增到我們的專案中。
新增 HTML 轉 PDF 程式碼
現在我們已經建立了 ASP.NET 項目,可以開始編寫將 HTML 文件內容轉換為 PDF 的程式碼了。 我們將從一個簡單的 HTML 字串轉 PDF 的範例開始,然後再探討如何透過自訂轉換 HTML 內容。
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
public class PdfController : Controller
{
// Action method to generate a PDF from HTML content
public IActionResult GeneratePdf()
{
// String of HTML code to be converted to PDF
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
// Creating a renderer to convert the HTML string to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Return the generated PDF file
return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
}
}
}using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
public class PdfController : Controller
{
// Action method to generate a PDF from HTML content
public IActionResult GeneratePdf()
{
// String of HTML code to be converted to PDF
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
// Creating a renderer to convert the HTML string to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Return the generated PDF file
return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
}
}
}如何在 ASP.NET 中使用 C# 將 HTML 轉換為 PDF:圖 7
ASP.NET MVC使用控制器來處理使用者請求。 當使用者存取特定 URL 時,ASP.NET 將呼叫與該路由關聯的控制器中的方法。
- PdfController是一個繼承自 Controller 的類,這意味著它可以處理 Web 請求並發送回應。
- 此控制器中的GeneratePdf方法將處理將 HTML 轉換為 PDF 的請求並傳回結果。
當使用者存取與 GeneratePdf 操作關聯的 URL 時,該方法將執行。
IActionResult:這是傳回類型,表示 Web 應用程式將向使用者發送的回應。 它可以是視圖(HTML頁面)、文件下載等等。在本例中,它是一個PDF檔案。
GeneratePdf() 方法:
在該方法內部,我們定義了一個字串htmlContent ,其中包含要轉換為 PDF 的 HTML。 For example,
"<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>".我們建立了一個新的ChromePdfRenderer實例,用於處理 HTML 到 PDF 的轉換。
- 方法RenderHtmlAsPdf()接受 HTML 字串並傳回 PDF 物件。
配置路由
在 ASP.NET MVC 應用程式中,您可以定義路由,將 URL 對應到控制器方法(操作)。 例如,如果您在瀏覽器中導航到/Pdf/GeneratePdf,ASP.NET將尋找 PdfController 並呼叫其 GeneratePdf 方法。 請確保您的路由配置允許存取 GeneratePdf 操作。 如果您使用的是 ASP.NET Core MVC,通常會自動設定。 如果您正在使用 Web API,請確保您的路由設定正確。
自訂 PDF 輸出
現在我們已經掌握了基本知識,接下來讓我們看看如何從 HTML 內容建立 PDF 文件,並為輸出 PDF 設定一些自訂設定。 IronPDF 提供了一套強大的 PDF 自訂工具,例如邊距、頁首/頁尾、自訂 PDF 尺寸等等。
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
// Controller for our PDF converter
public class PdfController : Controller
{
// Action method to generate a customized PDF from HTML content
public IActionResult GeneratePdf()
{
// String of HTML code to be converted to PDF
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
// Creating a renderer to convert the URL to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Creating the cover page
PdfDocument cover = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1>");
// Adding custom options for our final PDF
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A3;
renderer.RenderingOptions.TextHeader.CenterText = "IronPDF";
renderer.RenderingOptions.TextHeader.FontSize = 12;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.FirstPageNumber = 2;
// Creating our main PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Appending the cover to the main PDF
pdf.InsertPdf(cover, 0);
// Return the customized generated PDF file
return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
}
}
}using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
// Controller for our PDF converter
public class PdfController : Controller
{
// Action method to generate a customized PDF from HTML content
public IActionResult GeneratePdf()
{
// String of HTML code to be converted to PDF
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
// Creating a renderer to convert the URL to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Creating the cover page
PdfDocument cover = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1>");
// Adding custom options for our final PDF
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A3;
renderer.RenderingOptions.TextHeader.CenterText = "IronPDF";
renderer.RenderingOptions.TextHeader.FontSize = 12;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.FirstPageNumber = 2;
// Creating our main PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Appending the cover to the main PDF
pdf.InsertPdf(cover, 0);
// Return the customized generated PDF file
return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
}
}
}結論
今天我們仔細研究如何在 ASP.NET 中使用 HTML 到 PDF 的轉換,並探索了在 ASP.NET 專案中從 HTML 建立 PDF 文件的過程。 按照上述步驟,您可以輕鬆地將 PDF 生成功能整合到您的 Web 應用程式中,從而能夠從 HTML 內容創建高品質、可列印的文件。
IronPDF 擁有豐富的功能,可用於產生高品質的 PDF 文件。 有關更高級的功能和詳細的自訂設置,請參閱 IronPDF文件。 IronPDF安裝快捷,您可以立即在專案中設定好 IronPDF。
常見問題解答
如何使用 C# 在 ASP.NET 中將 HTML 內容轉換為 PDF?
若要在 ASP.NET 中使用 C# 將 HTML 內容轉換為 PDF,可以使用 IronPDF 函式庫。首先,在 Visual Studio 中設定 ASP.NET 項目,透過 NuGet 安裝 IronPDF,並配置許可證金鑰。然後,建立一個控制器,使用 IronPDF 的ChromePdfRenderer類別將 HTML 內容渲染成 PDF 文件。
在 ASP.NET 專案中設定 IronPDF 需要哪些步驟?
在 ASP.NET 專案中設定 IronPDF 需要以下步驟:在 Visual Studio 中建立新的 ASP.NET 項目,透過 NuGet 套件管理器安裝 IronPDF,然後輸入您的授權金鑰。配置完成後,您就可以使用 IronPDF 的功能將 HTML 轉換為 PDF。
如何在 ASP.NET 控制器中處理 PDF 轉換邏輯?
在 ASP.NET 控制器中,您可以使用 IronPDF 的ChromePdfRenderer來處理 PDF 轉換邏輯。建立一個操作方法,該方法接收 HTML 內容並應用RenderHtmlAsPdf方法產生 PDF,然後將產生的 PDF 傳回給客戶端。
IronPDF中有哪些選項可用於自訂PDF輸出?
IronPDF 可讓您自訂 PDF 輸出,例如設定紙張大小、方向、頁邊距以及新增頁首和頁尾。您可以在配置 PDF 文件時使用RenderingOptions屬性來調整這些設定。
如何使用 IronPDF 從 HTML 輸出高品質的 PDF 檔案?
IronPDF 支援現代 Web 標準,確保從 HTML 輸出高品質的 PDF 檔案。透過使用ChromePdfRenderer ,您可以保持格式和樣式的一致性,從而產生專業美觀的 PDF 文件。
IronPDF 能否整合到現有的 ASP.NET Web 應用程式中?
是的,IronPDF 可以輕鬆整合到現有的 ASP.NET Web 應用程式中。透過 NuGet 安裝程式庫並設定授權後,即可使用它將 HTML 內容轉換為 PDF,從而增強應用程式的文件產生功能。
在 ASP.NET 專案中使用 IronPDF 時,有哪些故障排除技巧?
如果在 ASP.NET 專案中使用 IronPDF 時遇到問題,請確保已透過 NuGet 正確安裝該程式庫,檢查您的授權金鑰是否有效,並檢查控制器的轉換邏輯是否有 HTML 渲染或 PDF 產生錯誤。
在哪裡可以找到更多關於使用 IronPDF 將 HTML 轉換為 PDF 的資源?
有關使用 IronPDF 的更多資源和文檔,請訪問 IronPDF 官方網站,您可以在那裡訪問指南、API 文件和示例,以幫助您有效地使用該庫在 ASP.NET 中進行 HTML 到 PDF 的轉換。
IronPDF 是否相容於新發布的 .NET 10? .NET 10 為 HTML 到 PDF 的轉換帶來了哪些好處?
是的-IronPDF 完全相容 .NET 10。它「開箱即用」地支援 .NET 10,包括跨平台部署、新的運行時效能增強(例如減少堆疊分配、優化記憶體使用以及更好地相容於現代 C# 特性)。這些改進意味著在 .NET 10 下,使用 IronPDF 進行 HTML 到 PDF 的轉換速度更快、更有效率、更容易維護。







