跳至頁尾內容
使用 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 也可以將其他格式的檔案(例如 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

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

如何在 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");
        }
    }
}
$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");
        }
    }
}
$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?

若要在 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 的轉換速度更快、更有效率、更容易維護。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。