跳過到頁腳內容
使用IRONPDF

如何使用C#在ASP .NET中將HTML轉換為PDF

在現代網頁應用程式中,從 HTML 內容產生文件是一項常見需求。 無論您需要建立發票、報告或任何其他類型的文檔,都可以使用 ASP.NET 中的 IronPDF 庫和 C# 有效地將 HTML 轉換為 PDF。

今天,我們將探索如何設置IronPDF並使用它將HTML內容轉換為PDF文檔。

如何使用 IronPDF 在 ASP.NET 中將 HTML 轉換為 PDF

  1. 使用 Visual Studio 或您選擇的 IDE 建立一個 ASP.NET 專案。
  2. 安裝 IronPDF 並設定您的許可證金鑰。
  3. 建立一個新的控制器或頁面,用於處理 PDF 轉換。
  4. 在控制器中編寫轉換邏輯。
  5. 設定路由以允許存取您的 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

最後,我們為新的控制器命名,然後點擊"新增"將其新增到我們的專案中。

如何在 ASP.NET 中使用 C# 將 HTML 轉換為 PDF:圖 6

新增 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
$vbLabelText   $csharpLabel

如何在 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
$vbLabelText   $csharpLabel

如何在 ASP.NET 中使用 C# 將 HTML 轉換為 PDF:圖 8

結論

今天我們仔細研究如何在 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 的轉換更快、更有效率並且更易於維護。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我