使用 IRONPDF

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

發佈 2024年10月23日
分享:

在現代網路應用程式中,從 HTML 內容生成文件是一個常見的需求。 無論您需要建立發票、報告或任何其他類型的文件,都可以使用 C# 在 ASP.NET 中利用 IronPDF 函式庫高效地將 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,憑藉其對現代 Web 標準的全面支持,您可以放心 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 文件。

先決條件

在開始之前,確保您已經:

*Visual Studio或設置另一個 C# 開發環境。

*IronPDF 库已安裝。 你可以從NuGet或直接從IronPDF網站獲取。

建立新的 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 代碼,首先在解決方案資源管理器中的「Controllers」資料夾上右鍵點擊,然後選擇「新增 -> 控制器」。

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

這將提示開啟一個新視窗,您可以在此選擇要添加到專案中的控制器形式。 我們選擇了一個空的 MVC 控制器。

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

最後,我們為新的控制器命名,然後點擊“Add”將它添加到我們的專案中。

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

將 HTML 添加到 PDF 轉換代碼中

現在我們已經創建了我們的 ASP.NET 專案,我們可以開始撰寫將 HTML 文件內容轉換為 PDF 的程式碼。 在查看具有自訂功能的 HTML 內容轉換之前,我們將從一個簡單的 HTML 字串轉換為 PDF 的範例開始。

using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
    public class PdfController : Controller
    {
        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>";
            ChromePdfRenderer renderer = new ChromePdfRenderer();
        // Convert HTML string to PDF
            PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
            return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
        }
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
    public class PdfController : Controller
    {
        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>";
            ChromePdfRenderer renderer = new ChromePdfRenderer();
        // Convert HTML string to PDF
            PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
            return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
        }
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Namespace IronPdfTest.Controllers
	Public Class PdfController
		Inherits Controller

		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>"
			Dim renderer As New ChromePdfRenderer()
		' Convert HTML string to PDF
			Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
			Return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf")
		End Function
	End Class
End Namespace
VB   C#

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

ASP.NET MVC 使用控制器來處理使用者請求。 當使用者導航到特定的 URL 時,ASP.NET 會呼叫與該路由相關聯的控制器中的方法。

  • PdfController 是從 Controller 繼承的一個類別,這意味著它可以處理網絡請求並發送回應。
  • 此控制器中的GeneratePdf方法將處理將HTML轉換為PDF的請求並返回結果。

    當用戶訪問連結至 GeneratePdf 動作的 URL 時,該方法會執行。

  • IActionResult:這是返回類型,表示 Web 應用程序將發送回給使用者的回應。 這可能是一個視圖(HTML 頁面),檔案下載等。在這種情況下,是一個 PDF 檔案。
  • GeneratePdf()方法:

    • 在方法內,我們定義了一個字串 htmlContent,其中包含您想要轉換為 PDF 的 HTML。 例如,"

      你好,IronPDF!

      這是一個從HTML生成的PDF。

      "."

    • 我們創建一個新實例的ChromePdfRenderer,負責將 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
    {
        public IActionResult GeneratePdf()
        {
            string url= "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
            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(url);
        // Appending the cover to the main PDF
            pdf.InsertPdf(cover, 0);
            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
    {
        public IActionResult GeneratePdf()
        {
            string url= "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
            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(url);
        // Appending the cover to the main PDF
            pdf.InsertPdf(cover, 0);
            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

		Public Function GeneratePdf() As IActionResult
			Dim url As String= "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>"
			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(url)
		' Appending the cover to the main PDF
			pdf.InsertPdf(cover, 0)
			Return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf")
		End Function
	End Class
End Namespace
VB   C#

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

結論

今天我們仔細研究了如何在 ASP.NET 中使用 HTML 到 PDF 的轉換,並探討了在 ASP.NET 專案中從 HTML 建立 PDF 檔的過程。 按照上述步驟操作,您可以輕鬆地將 PDF 生成功能整合到您的網路應用程式中,從 HTML 內容創建高品質、可列印的文件。

IronPDF 擁有豐富的功能集,可用於生成高質量的 PDF 文件,欲瞭解更多高級功能和詳細自訂,請參考 IronPDF。文檔,並且具有快速的安裝,您可以在短時間內將 IronPDF 設置到您的專案中。

< 上一頁
如何從 PDF 文件中提取表格數據(使用 C#)
下一個 >
PDF/A 合規性(開發人員如何運作)

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >