跳過到頁腳內容
使用IRONPDF

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

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

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

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

  1. 使用Visual Studio或您選擇的IDE創建ASP.NET專案。
  2. 安裝IronPDF並設置您的授權金鑰。
  3. 創建一個新控制器或頁面來處理PDF轉換。
  4. 在控制器內編寫轉換邏輯。
  5. 配置路由以允許訪問您的PDF生成動作。

IronPDF概述

IronPDF是一個強大的PDF程式庫,允許開發者讀取、創建和操作PDF文件。 憑藉豐富的功能集和快速、簡單的安裝過程,您可以輕鬆地將您的PDF專案提升到更高的水平。 其直觀的API易於學習,若您希望直接從網路應用生成動態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表單,拆分或合併PDF文件。

先決條件

在開始之前,確保您擁有:

創建新的ASP.NET專案

啟動Visual Studio並選擇最適合您需求的ASP.NET專案類型。 今天的例子中,我將創建一個ASP.NET Core網頁應用程式(模型-視圖-控制器)。

如何在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的類,意味著它能夠處理網路請求並發送回應。
  • 這個控制器中的GeneratePdf方法將處理將HTML轉換為PDF的請求並返回結果。

當用戶訪問鏈接到GeneratePdf動作的URL時,該方法將執行。

  • IActionResult: 這是返回類型,代表網路應用程式將發送回用戶的回應。 它可以是視圖(HTML頁面)、文件下載等。在這種情況下,它是一個PDF文件。

    • GeneratePdf() 方法:

    • 在該方法內,我們定義了一個包含您希望轉換為PDF的HTML內容的字符串htmlContent。 For example, "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>".

    • 我們創建了一個新的ChromePdfRenderer實例,處理HTML到PDF的轉換。

    • 方法RenderHtmlAsPdf()接收HTML字符串並返回一個PDF對象。

Configure Routing

在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生成整合到您的網路應用中,使您能夠從HTML內容創建高質量的可打印文件。

IronPDF擁有豐富的功能集,可以用於生成高質量的PDF文件。 如需更高級的功能和詳細的自訂,請參考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 機器人,結合科技與創意的樂趣。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me