如何使用 C# 和 IronPDF 在 ASP .NET 中將網頁轉換為 PDF
在 ASP.NET 應用程式中,將網頁和 HTML 頁面轉換為 PDF 文件是產生報表、發票和可下載內容的常見需求。 IronPDF是一個 .NET 程式庫,它提供了一個簡單而強大的解決方案,可以使用 C# 在 ASP.NET 中將網頁轉換為 PDF,只需幾行程式碼即可將輸入的 HTML、網頁和 HTML 檔案轉換為專業的 PDF 檔案。
這對於任何現代 .NET 專案來說都至關重要。 所以,請繼續關注,我們將探討將 HTML 和網頁內容轉換為高品質 PDF 文件的不同方法!
開始使用 IronPdf
若要在 ASP.NET 應用程式中開始將網頁轉換為 PDF,請透過 NuGet 套件管理器控制台安裝 IronPDF:
Install-Package IronPdf
安裝完成後,將 using 語句加入您的 C# 檔案:
using IronPdf;using IronPdf;Imports IronPdfIronPDF 可與 ASP.NET Web Forms 和 ASP.NET Core 應用程式無縫協作,在所有 .NET 框架中提供一致的 HTML 到 PDF 轉換。 部署時,可以考慮將其與 Azure 函數結合使用,以實現無伺服器擴充。
如何將HTML字串轉換為PDF?
ChromePdfRenderer類別是 IronPDF 的主要 PDF 轉換器,用於將 HTML 內容轉換為 PDF 文件。 這種方法非常適合從動態建立的 HTML 字串產生 PDF 檔案:
using IronPdf;
using System.IO;
class Program
{
static void Main(string[] args)
{
// Create the PDF converter
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
string htmlContent = "<h1>Sales Report</h1><p>Quarterly sales data...</p>";
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF file
pdfDocument.SaveAs("report.pdf");
}
}using IronPdf;
using System.IO;
class Program
{
static void Main(string[] args)
{
// Create the PDF converter
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
string htmlContent = "<h1>Sales Report</h1><p>Quarterly sales data...</p>";
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF file
pdfDocument.SaveAs("report.pdf");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comHTML 轉 PDF 檔案輸出
如何使用 C# 和 IronPDF 在 ASP.NET 中將網頁轉換為 PDF:圖 1 - 簡單的 HTML 轉 PDF 輸出
RenderHtmlAsPdf方法會保留 PDF 文件中的所有 CSS 樣式、圖片和 HTML 元素。 當使用引用外部資源(例如 CSS 或圖像)的 HTML 程式碼時,請指定基本路徑:
var renderer = new ChromePdfRenderer();
string html = @"
<link rel='stylesheet' href='styles.css'>
<h1>Company Report</h1>
<div style='text-align: center'>Annual Summary</div>";
// Set base path for external resources
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\Assets\");
pdf.SaveAs("annual-report.pdf");var renderer = new ChromePdfRenderer();
string html = @"
<link rel='stylesheet' href='styles.css'>
<h1>Company Report</h1>
<div style='text-align: center'>Annual Summary</div>";
// Set base path for external resources
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\Assets\");
pdf.SaveAs("annual-report.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.com如何在 ASP.NET 中將目前網頁轉換為 PDF?
對於 ASP.NET Web Forms 應用程序,IronPDF 提供了一個極其簡單的單行解決方案,可將網頁直接轉換為 PDF:
protected void Page_Load(object sender, EventArgs e)
{
// Convert current ASPX page to PDF
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}protected void Page_Load(object sender, EventArgs e)
{
// Convert current ASPX page to PDF
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}IRON VB CONVERTER ERROR developers@ironsoftware.comASPX 轉 PDF 輸出
如何使用 C# 和 IronPDF 在 ASP.NET 中將網頁轉換為 PDF:圖 2 - ASPX 轉 PDF 範例輸出
這一行程式碼可以將整個目前網頁及其所有 HTML 結構、樣式和動態內容轉換為 PDF 文件,可在 Adobe Reader 或其他 PDF 檢視器中查看。 您可以自訂輸出行為:
// Display PDF directly in browser
IronPdf.AspxToPdf.RenderThisPageAsPdf(
IronPdf.AspxToPdf.FileBehavior.InBrowser,
"invoice.pdf"
);// Display PDF directly in browser
IronPdf.AspxToPdf.RenderThisPageAsPdf(
IronPdf.AspxToPdf.FileBehavior.InBrowser,
"invoice.pdf"
);IRON VB CONVERTER ERROR developers@ironsoftware.com對於ASP.NET Core MVC應用程序,請使用ChromePdfRenderer轉換 HTML 視圖。 通常情況下,你會在 Visual Studio 中完成這個 .NET 專案:
public IActionResult GeneratePdf()
{
try
{
// 1. Initialize the PDF Renderer
var renderer = new IronPdf.ChromePdfRenderer();
// 2. Construct the URL that IronPDF will convert.
// This URL calls the 'Report' action above.
string url = $"{Request.Scheme}://{Request.Host}/Home/Report";
// Optional: Customize Rendering Options (e.g., margins)
renderer.RenderingOptions.MarginTop = 15;
renderer.RenderingOptions.MarginBottom = 15;
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
CenterText = "{page} of {total-pages}",
FontSize = 10
};
// 3. Render the URL as a PDF
var pdf = renderer.RenderUrlAsPdf(url);
// 4. Send the PDF file to the browser
// The user will be prompted to download 'report.pdf'
return File(pdf.BinaryData, "application/pdf", "report.pdf");
}
catch (Exception ex)
{
// Log the error and return a generic error page or message
// Console.WriteLine(ex.Message);
return Content($"Error generating PDF: {ex.Message}");
}
}public IActionResult GeneratePdf()
{
try
{
// 1. Initialize the PDF Renderer
var renderer = new IronPdf.ChromePdfRenderer();
// 2. Construct the URL that IronPDF will convert.
// This URL calls the 'Report' action above.
string url = $"{Request.Scheme}://{Request.Host}/Home/Report";
// Optional: Customize Rendering Options (e.g., margins)
renderer.RenderingOptions.MarginTop = 15;
renderer.RenderingOptions.MarginBottom = 15;
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
CenterText = "{page} of {total-pages}",
FontSize = 10
};
// 3. Render the URL as a PDF
var pdf = renderer.RenderUrlAsPdf(url);
// 4. Send the PDF file to the browser
// The user will be prompted to download 'report.pdf'
return File(pdf.BinaryData, "application/pdf", "report.pdf");
}
catch (Exception ex)
{
// Log the error and return a generic error page or message
// Console.WriteLine(ex.Message);
return Content($"Error generating PDF: {ex.Message}");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comASP.NET MVC 輸出
如何使用 C# 和 IronPDF 在 ASP.NET 中將網頁轉換為 PDF:圖 3 - ASP.NET MVC PDF 輸出
如何將URL轉換為PDF?
IronPDF 可以輕鬆地將任何 URL 中的 HTML 程式碼轉換為 PDF 文件。 這項強大的功能既適用於外部網站,也適用於內部應用程式頁面:
var renderer = new ChromePdfRenderer();
// Convert external webpage to PDF
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("website.pdf");var renderer = new ChromePdfRenderer();
// Convert external webpage to PDF
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("website.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.com輸出
如何在 ASP.NET 中使用 C# 和 IronPDF 將網頁轉換為 PDF:圖 4 - URL 到 PDF 輸出
對於包含 JavaScript 或動態內容的頁面,您可以使用無頭模式或啟用 JavaScript 執行:
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Wait for JS to load
var pdf = renderer.RenderUrlAsPdf("https://app.example.com/dashboard");
pdf.SaveAs("dashboard.pdf");var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Wait for JS to load
var pdf = renderer.RenderUrlAsPdf("https://app.example.com/dashboard");
pdf.SaveAs("dashboard.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.com如何配置PDF生成設定?
IronPDF 提供豐富的 PDF 轉換自訂選項,以滿足您的特定需求:
var renderer = new ChromePdfRenderer();
// Configure page layout
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
// Set margins in millimeters
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 15;
renderer.RenderingOptions.MarginRight = 15;
// Enable background colors and images
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Generate PDF with custom settings
var pdf = renderer.RenderHtmlAsPdf("<h1>Custom Layout</h1>");
pdf.SaveAs("custom.pdf");var renderer = new ChromePdfRenderer();
// Configure page layout
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
// Set margins in millimeters
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 15;
renderer.RenderingOptions.MarginRight = 15;
// Enable background colors and images
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
// Generate PDF with custom settings
var pdf = renderer.RenderHtmlAsPdf("<h1>Custom Layout</h1>");
pdf.SaveAs("custom.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.com輸出
如何為PDF檔案新增頁首和頁尾?
專業PDF文件通常需要包含頁首和頁腳,其中包含頁碼和其他資訊:
var renderer = new ChromePdfRenderer();
// Add text header and footer
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "Monthly Report",
DrawDividerLine = true,
FontSize = 16
};
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
FontSize = 10
};
var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1>");
pdf.SaveAs("report-with-header.pdf");var renderer = new ChromePdfRenderer();
// Add text header and footer
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "Monthly Report",
DrawDividerLine = true,
FontSize = 16
};
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
FontSize = 10
};
var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1>");
pdf.SaveAs("report-with-header.pdf");IRON VB CONVERTER ERROR developers@ironsoftware.com輸出
如何在 ASP.NET 中使用 C# 和 IronPDF 將網頁轉換為 PDF:圖 6 - 輸出帶有頁首和頁尾的 PDF
對於更複雜的標題,請使用 HTML 格式:
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center; border-bottom: 1px solid #ccc;'>" +
"<h2>Company Name</h2></div>",
MaxHeight = 30
};renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center; border-bottom: 1px solid #ccc;'>" +
"<h2>Company Name</h2></div>",
MaxHeight = 30
};IRON VB CONVERTER ERROR developers@ironsoftware.com使用不同的HTML來源
IronPDF 提供了多種從各種 HTML 來源產生 PDF 的方法:
轉換 HTML 文件
var renderer = new ChromePdfRenderer();
// Convert HTML file to PDF
var pdf = renderer.RenderHtmlFileAsPdf(@"C:\Templates\invoice.html");var renderer = new ChromePdfRenderer();
// Convert HTML file to PDF
var pdf = renderer.RenderHtmlFileAsPdf(@"C:\Templates\invoice.html");IRON VB CONVERTER ERROR developers@ironsoftware.com使用 Base64 影像進行轉換
string htmlWithImage = @"
<h1>Product Catalog</h1>
<img src='data:image/png;base64,iVBORw0KGgoAAAANS...' />";
var pdf = renderer.RenderHtmlAsPdf(htmlWithImage);string htmlWithImage = @"
<h1>Product Catalog</h1>
<img src='data:image/png;base64,iVBORw0KGgoAAAANS...' />";
var pdf = renderer.RenderHtmlAsPdf(htmlWithImage);IRON VB CONVERTER ERROR developers@ironsoftware.com結論
IronPDF 讓在 ASP.NET 應用程式中將 HTML 轉換為 PDF 變得異常簡單。 無論您需要從 HTML 字串產生 PDF 文件、轉換 HTML 文件,還是將整個網頁轉換為 PDF,IronPDF 都提供了一個強大的 HTML 轉 PDF 轉換器,可以保留所有 HTML 內容、CSS 樣式和 JavaScript 功能。 它既適用於大型應用程序,也適用於輕量級工具,例如行動應用程式或簡單的命令列實用程式。
PDF 程式庫可以處理從簡單的 HTML 文件到複雜的 Web 內容的一切,使其成為 .NET 應用程式中進行 PDF 轉換的理想選擇。 透過支援頁首、頁尾、安全性設定和各種 HTML 來源,您可以用最少的程式碼建立符合專業標準的 PDF 文件。
立即透過免費試用版開始使用 IronPDF,體驗在 ASP.NET 專案中無縫進行 HTML 到 PDF 的轉換。 對於生產用途,請了解我們靈活的授權選項,這些選項可根據您的需求進行擴展。
常見問題解答
如何在 ASP.NET 中將網頁轉換為 PDF?
您可以使用 IronPDF 這個 .NET 函式庫,在 ASP.NET 應用程式中將網頁轉換為 PDF。它讓您只需要幾行 C# 程式碼,就能從 HTML 內容產生專業的 PDF 檔案。
在 ASP.NET 中將 HTML 轉換為 PDF 的典型用例有哪些?
常見的使用案例包括產生報表、建立發票,以及從 ASP.NET 應用程式內的網頁提供 PDF 格式的可下載內容。
IronPDF 是否適合生成專業級 PDF?
是的,IronPDF 旨在將 HTML 和網頁轉換為高品質、專業的 PDF 文件,適合商業和企業應用。
在 ASP.NET 應用程式中使用 IronPDF 有多容易?
IronPDF 對使用者非常友善。它允許開發人員以最少的程式碼將 HTML 轉換成 PDF,因此很容易整合到現有的 ASP.NET 應用程式中。
IronPdf 可以處理複雜的 CSS 和 JavaScript 網頁嗎?
是的,IronPDF 可以處理包含 CSS 和 JavaScript 的複雜網頁,確保生成的 PDF 能保持原始網頁的外觀和感覺。
是否可以使用 IronPDF 自動從網頁生成 PDF?
絕對可以IronPDF 可以集成到自動化工作流程中,在 ASP.NET 應用程式中以程式化方式從網頁生成 PDF。
IronPDF 是否支持将 HTML 文件直接转换为 PDF?
是的,IronPDF 不僅允許您轉換網頁,還允許您將本機的 HTML 檔案直接轉換為 PDF 文件。
IronPDF 在 PDF 轉換時使用何種程式語言?
IronPDF 使用 C# 在 ASP.NET 應用程式中將 HTML 和網頁轉換為 PDF。
IronPDF 是否能夠從動態網頁內容生成 PDF?
是的,IronPDF 可以處理動態網頁內容,確保產生的 PDF 反映轉換時網頁的最新版本。
使用 IronPDF 進行 HTML 至 PDF 的轉換有哪些優點?
IronPDF 提供了一種強大且直接的方式將 HTML 轉換為 PDF,具有易於使用、高品質輸出、支援複雜佈局以及自動化功能等優點。






