如何在 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 的外观。 了解有关 CSS 处理 PDF 转换的更多信息,以确保文档具有专业外观。

常见使用案例

URL 到 PDF 的转换正是为这些业务场景服务的:

1.报告生成:将仪表板 URL 转换为 PDF 报告 2.网络存档:为合规性或文档创建 PDF 快照 3.发票生成:将基于网络的发票转换为 PDF 格式 4.内容发布:将文章转化为可下载的 PDF 文件 5.法律文档:为法律程序归档网页内容

最佳实践和性能提示

在将 URL 转换为 PDF 时,请考虑以下最佳实践:

  • 错误处理:用 try-catch 块封装转换代码以处理网络问题
  • 超时设置:为加载缓慢的页面配置超时 资源管理:使用 using 语句进行正确处置
  • 批量处理:考虑对多个 URL 进行并行处理

要获得全面的指导,请浏览涵盖其他应用场景和故障排除的完整 URL to PDF 文档

结论

IronPDF 为用 C# 将 URL 转换为 PDF 提供了可靠的解决方案。 凭借 Chrome 渲染引擎、定制选项和 JavaScript 支持,它可以处理从简单的网页到复杂的动态应用程序。 利用 IronPDF 的 URL to 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 时,能否自定义 PDF 输出?

是的,IronPDF 通过 RenderingOptions 属性提供了广泛的自定义功能。您可以配置页边距、纸张大小、方向、CSS 媒体类型、背景打印和表单创建设置,以根据您的需要定制 PDF 输出。

URL 转换为 PDF 有哪些实际用例?

IronPDF 可用于构建网络搜刮器、根据实时数据生成报告或创建网络内容档案。该库能够渲染动态内容,因此非常适合捕获浏览器中显示的完整网页。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 17,803,474 | 版本: 2026.3 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。