如何在.NET中將PDF轉換為PNG
在現代網頁應用程式中,從HTML內容生成文件是一個常見的需求。 無論您需要建立發票、報告,或其他型別的文件,使用IronPDF程式庫在ASP.NET中通過C#將HTML轉換為PDF都可以有效地完成。
今天,我們將探討如何設置IronPDF以及使用它將HTML內容轉換為PDF文件。
如何使用IronPDF在ASP.NET中將HTML轉換為PDF
- 使用Visual Studio或您選擇的IDE建立一個ASP.NET專案。
- 安裝IronPDF並設置您的授權金鑰。
- 在您希望處理PDF轉換的地方建立一個新的控制器或頁面。
- 在控制器中編寫您的轉換邏輯。
- 配置路由以允許存取您的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文件。
先決條件
在開始之前,確保您已經擁有:
- 安裝Visual Studio或其他C#開發環境。
- 已安裝IronPDF程式庫。 您可以從NuGet或直接從IronPDF網站獲取。
建立新的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
在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
在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轉換將會更快、更高效且更易維護。




