如何在C#中從URL轉換並下載PDF

如何使用IronPDF在 C# 中將 URL 渲染為 PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF使 C# 開發人員能夠使用一行程式碼將任何 URL 轉換為 PDF,它使用 ChromePdfRenderer 類別來渲染網頁,並完全支援JavaScript、CSS 和圖像。

本函式庫利用 Chrome 渲染引擎來確保網頁的 PDF 精確表示,包括來自 Angular、React 和 Vue.js 等JavaScript框架的動態內容。

使用IronPDF建立網路爬蟲、從即時數據產生報告或建立網路內容存檔。 對於尋求全面HTML 轉 PDF解決方案的開發人員來說, IronPDF除了 URL 轉換之外,還提供廣泛的功能。

快速入門:使用IronPDF將網頁轉換為 PDF

本指南示範如何使用 ChromePdfRenderer 類別以最少的程式碼將 URL 轉換為 PDF。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 複製並運行這段程式碼。

    new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://example.com").SaveAs("example.pdf");
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronPDF

    arrow pointer


如何使用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");
$vbLabelText   $csharpLabel

RenderUrlAsPdf 方法支援 HTTP 和 HTTPS 協定。 在繼續之前,請完成安裝概述,以便在您的開發環境中設定IronPDF 。

對於複雜的場景,請探索更多URL 轉 PDF 範例,這些範例示範了身份驗證、自訂標頭和渲染選項。

產生的PDF檔案是什麼樣子的?

這是程式碼產生的檔案:

進階配置與渲染選項

透過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");
$vbLabelText   $csharpLabel

處理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");
$vbLabelText   $csharpLabel

新增頁首和頁尾

使用 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");
$vbLabelText   $csharpLabel

優化 CSS 以輸出 PDF 文件

IronPDF同時支援螢幕和列印 CSS 媒體類型。了解 CSS 媒體類型如何影響輸出有助於優化 PDF 的外觀。 了解更多關於PDF轉換中CSS處理的知識,以確保文件外觀專業美觀。

常見用例

URL 轉 PDF 功能適用於下列業務場景:

1.報表產生:將儀表板 URL 轉換為 PDF 報表 2.網路存檔:建立 PDF 快照以用於合規性或文件記錄。 3.產生發票:將網路為基礎的發票轉換為 PDF 格式 4.內容發佈:將文章轉換為可下載的PDF文件 5.法律文件:存檔用於法律訴訟的網頁內容

最佳實踐和績效技巧

將URL轉換為PDF時,請遵循以下最佳實務:

-錯誤處理:將轉換程式碼封裝在 try-catch 區塊中以處理網路問題
-超時設定:設定頁面載入緩慢時的逾時時間
資源管理:使用 using 語句進行正確處置
-批次處理:考慮對多個 URL 進行平行處理

如需全面指導,請查看包含更多情境和故障排除方法的完整PDF 文件 URL

結論

IronPDF提供了一個可靠的解決方案,用於在 C# 中將 URL 轉換為 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 協定。此方法需要一個絕對的 URI,指向您要轉換的 HTML 文件。

從 URL 轉換時,我可以自訂 PDF 輸出嗎?

是的,IronPDF 透過 RenderingOptions 屬性提供廣泛的客製化功能。您可以設定頁邊空白、紙張大小、方向、CSS 媒體類型、背景列印以及表格建立設定,以根據您的需求量身打造 PDF 輸出。

URL 轉換為 PDF 有哪些實際使用案例?

IronPDF 可以用來建立網頁搜刮器、從即時資料產生報告,或建立網頁內容的歸檔。這個函式庫能夠渲染動態內容,因此非常適合擷取瀏覽器中出現的完整網頁。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 17,803,474 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想快速取得證據? PM > Install-Package IronPdf
運行範例看著你的HTML程式碼變成PDF檔。