如何使用 IronPDF 在 C# 中將 URL 渲染為 PDF
IronPDF 讓 C# 開發人員能透過一行程式碼將任何 URL 轉換為 PDF,並利用 ChromePdfRenderer 類別渲染網頁,同時完整支援 JavaScript、CSS 及圖片。
此函式庫採用 Chrome 渲染引擎,確保網頁能精確地轉為 PDF 格式,包含來自 Angular、React 和 Vue.js 等 JavaScript 框架的動態內容。
使用 IronPDF 來建置網頁擷取工具、從即時資料生成報告,或建立網頁內容的歸檔。 對於尋求全面 HTML 轉 PDF 解決方案的開發人員,IronPDF 提供的功能遠不止於 URL 轉換。
快速入門:使用 IronPDF 將網頁轉換為 PDF
本指南將示範如何使用 ChromePdfRenderer 類別,以最少的程式碼將 URL 轉換為 PDF 檔案。
簡化工作流程(5 個步驟)
- 從 NuGet 下載 IronPDF C# 函式庫
- 建立 ChromePdfRenderer 類別的實例
- 了解如何從 URL 渲染 PDF
- 修改 RenderingOptions 以新增頁首與頁尾
- 請查閱 PDF 輸出文件
如何使用 IronPDF 將 URL 轉換為 PDF?
此範例展示 IronPDF 如何使用 RenderUrlAsPdf() 方法將維基百科網頁渲染為 PDF。 此方法需要一個指向 HTML 文件的絕對 URI。
:path=/static-assets/pdf/content-code-examples/how-to/url-to-pdf.cs
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a URL or local file path
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from a URL or local file path
Private pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
RenderUrlAsPdf 方法支援 HTTP 和 HTTPS 協定。 在繼續之前,請先完成《安裝概覽》以在您的開發環境中設定 IronPDF。
針對複雜情境,請參考其他 URL 轉 PDF 範例,其中展示了驗證、自訂標頭及渲染選項的應用。
生成的 PDF 檔案看起來是什麼樣子?
這是程式碼產生的檔案:
進階設定:RenderingOptions
透過 RenderingOptions 屬性自訂您的 PDF 轉換設定。 設定頁面邊距、紙張尺寸、方向等設定。
using IronPdf;
// Advanced renderer with custom options
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.MarginTop = 40;
renderer.RenderingOptions.MarginBottom = 40;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
// Set custom paper size
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;
// Render URL to PDF with custom settings
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("customized-output.pdf");
using IronPdf;
// Advanced renderer with custom options
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.MarginTop = 40;
renderer.RenderingOptions.MarginBottom = 40;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
// Set custom paper size
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;
// Render URL to PDF with custom settings
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("customized-output.pdf");
Imports IronPdf
' Advanced renderer with custom options
Dim renderer As New ChromePdfRenderer()
' Configure rendering options
renderer.RenderingOptions.MarginTop = 40
renderer.RenderingOptions.MarginBottom = 40
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
' Set custom paper size
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait
' Render URL to PDF with custom settings
Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
pdf.SaveAs("customized-output.pdf")
處理 JavaScript 與動態內容
現代網頁仰賴 JavaScript 來渲染內容。 IronPDF 的 Chrome 渲染引擎透過 JavaScript 渲染功能擷取動態內容。
using IronPdf;
var renderer = new ChromePdfRenderer();
// Wait for JavaScript to execute
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds
// Or wait for specific JavaScript events
renderer.RenderingOptions.WaitFor.JavaScript(1500); // Maximum wait time
renderer.RenderingOptions.WaitFor.HtmlElement("div.dynamic-content", 5000);
var pdf = renderer.RenderUrlAsPdf("https://example.com/dynamic-page");
pdf.SaveAs("dynamic-content.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Wait for JavaScript to execute
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds
// Or wait for specific JavaScript events
renderer.RenderingOptions.WaitFor.JavaScript(1500); // Maximum wait time
renderer.RenderingOptions.WaitFor.HtmlElement("div.dynamic-content", 5000);
var pdf = renderer.RenderUrlAsPdf("https://example.com/dynamic-page");
pdf.SaveAs("dynamic-content.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Wait for JavaScript to execute
renderer.RenderingOptions.WaitFor.RenderDelay(2000) ' Wait 2 seconds
' Or wait for specific JavaScript events
renderer.RenderingOptions.WaitFor.JavaScript(1500) ' Maximum wait time
renderer.RenderingOptions.WaitFor.HtmlElement("div.dynamic-content", 5000)
Dim pdf = renderer.RenderUrlAsPdf("https://example.com/dynamic-page")
pdf.SaveAs("dynamic-content.pdf")
新增頁首與頁尾
使用 IronPDF 的"頁首與頁尾"功能,加入包含頁碼、日期或公司資訊的頁首與頁尾。
using IronPdf;
var renderer = new ChromePdfRenderer();
// Add header with dynamic content
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
Height = 30,
HtmlFragment = "<div style='text-align:center;font-size:12px;'>{page} of {total-pages}</div>",
DrawDividerLine = true
};
// Add footer with company info
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
Height = 25,
HtmlFragment = "<div style='text-align:center;font-size:10px;'>© 2024 Your Company Name</div>",
DrawDividerLine = true
};
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("with-headers-footers.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Add header with dynamic content
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
Height = 30,
HtmlFragment = "<div style='text-align:center;font-size:12px;'>{page} of {total-pages}</div>",
DrawDividerLine = true
};
// Add footer with company info
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
Height = 25,
HtmlFragment = "<div style='text-align:center;font-size:10px;'>© 2024 Your Company Name</div>",
DrawDividerLine = true
};
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("with-headers-footers.pdf");
Imports IronPdf
Dim renderer = New ChromePdfRenderer()
' Add header with dynamic content
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.Height = 30,
.HtmlFragment = "<div style='text-align:center;font-size:12px;'>{page} of {total-pages}</div>",
.DrawDividerLine = True
}
' Add footer with company info
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.Height = 25,
.HtmlFragment = "<div style='text-align:center;font-size:10px;'>© 2024 Your Company Name</div>",
.DrawDividerLine = True
}
Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
pdf.SaveAs("with-headers-footers.pdf")
針對 PDF 輸出優化 CSS
IronPDF 同時支援螢幕與 PRINT 兩種 CSS 媒體類型。了解 CSS 媒體類型如何影響輸出結果,有助於優化 PDF 的外觀呈現。 進一步了解 PDF 轉換中的 CSS 處理方式,以確保產出專業外觀的文件。
常見應用情境
URL 轉 PDF 功能適用於以下商業情境:
- 報表生成:將儀表板 URL 轉換為 PDF 報表
- 網頁歸檔:為合規或文件記錄目的建立 PDF 快照
- 發票生成:將網頁版發票轉換為 PDF 格式
- 內容發佈:將文章轉為可下載的 PDF 檔案
- 法律文件:為法律程序存檔網頁內容
最佳實務與效能建議
將 URL 轉換為 PDF 時,請遵循以下最佳實務:
- 錯誤處理:將轉換程式碼封裝在
try-catch區塊中,以處理網路問題 - 超時設定:為載入緩慢的頁面設定超時值
- 資源管理:使用
using語句進行適當的資源釋放 - 批次處理:可考慮針對多個 URL 進行平行處理
如需完整指引,請參閱完整的 URL 轉 PDF 文件,其中涵蓋其他情境與疑難排解。
結論
IronPDF 提供了一套可靠的解決方案,可透過 C# 將網址轉換為 PDF 檔案。 憑藉其 Chrome 渲染引擎、自訂選項及 JavaScript 支援,它能處理從簡單的網頁到複雜的動態應用程式。 利用 IronPDF 的 URL 轉 PDF 功能,建立企業級報表系統或網頁擷取工具。
常見問題
如何在 C# 中將 URL 轉換為 PDF?
您只需一行程式碼,即可使用 IronPDF 的 ChromePdfRenderer 類別,在 C# 中將 URL 轉換為 PDF:new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://example.com").SaveAs("example.pdf")。此方法可渲染網頁,並完全支援 JavaScript、CSS 及圖片。
URL 轉 PDF 功能是否支援 JavaScript 內容?
是的,IronPDF 採用 Chrome 渲染引擎,完全支援 JavaScript 執行,包括來自 Angular、React 和 Vue.js 等現代框架的動態內容。這確保了互動式網頁能精確地轉為 PDF 格式。
URL 轉 PDF 功能支援哪些協定?
IronPDF 的 RenderUrlAsPdf 方法同時支援 HTTP 與 HTTPS 協定。此方法需要一個指向您要轉換之 HTML 文件的絕對 URI。
從 URL 轉換時,我可以自訂 PDF 輸出格式嗎?
是的,IronPDF 透過 RenderingOptions 屬性提供廣泛的自訂功能。您可以設定頁面邊距、紙張尺寸、方向、CSS 媒體類型、背景列印以及表單建立設定,以根據您的需求調整 PDF 輸出。
URL 轉 PDF 有哪些實際應用情境?
IronPDF 可用於建置網頁抓取工具、從即時資料生成報告,或建立網頁內容的存檔。該函式庫具備渲染動態內容的能力,使其非常適合擷取網頁在瀏覽器中顯示時的完整樣貌。

