跳至頁尾內容
使用IRONPDF

如何在.NET中將PDF轉換為PNG

在現代網頁應用程式中,從HTML內容生成文件是一個常見的需求。 無論您需要建立發票、報告,或其他型別的文件,使用IronPDF程式庫在ASP.NET中通過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文件。 借助其豐富的功能和快速、簡單的安裝過程,您可以迅速將您的PDF專案提升到新的層次,這都要歸功於IronPDF。 其直觀的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 Web App(Model-view Controller)。

在ASP .NET中使用C#將HTML轉換為PDF的方法:圖1

然後,輸入專案的名稱並選擇專案的儲存位置。

在ASP .NET中使用C#將HTML轉換為PDF的方法:圖2

最後,選擇專案需要的.NET Framework,並改變專案的任何附加設定,例如身份驗證型別,或啟用容器支持和docker。

在ASP .NET中使用C#將HTML轉換為PDF的方法:圖3

建立控制器

要建立一個新的控制器以容納我們的HTML到PDF程式碼,首先在方案資源管理器中的"Controllers"文件夾右鍵單擊並選擇"Add -> Controller"。

在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字串到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是一個繼承自控制器的類,意即可以處理網頁請求並傳送回應。
  • 該控制器中的GeneratePdf方法將處理將HTML轉換為PDF的請求並返回結果。

當使用者存取與GeneratePdf動作相關的URL時,該方法會執行。

  • IActionResult:這是返回型別,表示網頁應用程式會回傳給使用者的回應。 它可以是一個檢視(HTML頁面)、文件下載等。在這個例子中,它是一個PDF文件。

  • GeneratePdf() 方法:

  • 在方法中,我們定義一個字串htmlContent,其中包含您想轉換為PDF的HTML。 例如,"<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生成整合到您的網頁應用程式中,讓您能從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網頁應用程式中。在通過NuGet安裝程式庫和配置您的授權後,您可以使用它將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擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

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