如何使用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 也可以轉換其他格式的 PDF 檔案,例如 DOCX、圖片、RTF 等。
- PDF 產生:使用 IronPDF,您可以從任何網頁、ASPX 檔案、HTML 字串等產生 PDF。
- 安全功能:借助 IronPDF 的安全功能,您可以始终确保任何敏感 PDF 文件的安全。 使用 IronPDF 加密您的 PDF 檔案、設定密碼,以及為 PDF 檔案設定權限。
- PDF編輯功能:使用 IronPDF,您可以處理現有的 PDF 文件、編輯它們,並輕鬆讀取 PDF 檔案。 IronPDF 提供的編輯功能包括新增頁首和頁尾,在 PDF 頁面上印製文字和圖片,在 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");
}
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Namespace IronPdfTest.Controllers
Public Class PdfController
Inherits Controller
' Action method to generate a PDF from HTML content
Public Function GeneratePdf() As IActionResult
' String of HTML code to be converted to PDF
Dim htmlContent As String = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>"
' Creating a renderer to convert the HTML string to PDF
Dim renderer As New ChromePdfRenderer()
' Convert HTML string to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
' Return the generated PDF file
Return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf")
End Function
End Class
End Namespace
如何在 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");
}
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Namespace IronPdfTest.Controllers
' Controller for our PDF converter
Public Class PdfController
Inherits Controller
' Action method to generate a customized PDF from HTML content
Public Function GeneratePdf() As IActionResult
' String of HTML code to be converted to PDF
Dim htmlContent As String = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>"
' Creating a renderer to convert the URL to PDF
Dim renderer As New ChromePdfRenderer()
' Creating the cover page
Dim cover As PdfDocument = 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
Dim pdf As PdfDocument = 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")
End Function
End Class
End Namespace
結論
今天我們仔細研究如何在 ASP.NET 中使用 HTML 到 PDF 的轉換,並探索了在 ASP.NET 專案中從 HTML 建立 PDF 文件的過程。 按照上述步驟,您可以輕鬆地將 PDF 生成功能整合到您的 Web 應用程式中,從而能夠從 HTML 內容創建高品質、可列印的文件。
IronPDF 擁有豐富的功能,可用於產生高品質的 PDF 文件。 有關更高級的功能和詳細的自訂設置,請參閱 IronPDF文件。 IronPDF安裝快捷,您可以立即在專案中設定好 IronPDF。
常見問題解答
如何在使用 C# 的 ASP.NET 中將 HTML 內容轉換為 PDF?
要在使用 C# 的 ASP.NET 中將 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,然後可以返回給客戶端。
IronPDF 提供哪些選項來自訂 PDF 輸出?
IronPDF 允許您通過設置紙張尺寸、方向、邊距以及添加頁眉和頁腳等選項來自訂 PDF 輸出。這些選項可以在配置您的 PDF 文檔時通過 RenderingOptions 屬性進行調整。
如何確保使用 IronPDF 從 HTML 獲得高質量的 PDF 輸出?
IronPDF 支持現代網頁標準,這確保了從 HTML 獲得高質量的 PDF 輸出。通過使用 ChromePdfRenderer,您可以保持一致的格式和樣式,從而生成專業的 PDF 文檔。
IronPDF 可以集成到現有的 ASP.NET 網頁應用程式中嗎?
可以,IronPDF 可以輕鬆集成到現有的 ASP.NET 網頁應用程式中。安裝完庫後,您可以利用它將 HTML 內容轉換為 PDF,增強您的應用程式的文檔生成能力。
在使用 IronPDF 的 ASP.NET 專案中,有哪些問題排除提示?
如果您在 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 的轉換更快、更有效率並且更易於維護。



