跳至页脚内容
PDF 工具

如何在 Mac 和 Windows 上将网页另存为 PDF 文件

下载网页是离线访问网站内容的便捷方式。 将网页保存为PDF格式有助于保持页面的结构,并便于与他人分享。

有许多工具可以将网页保存为PDF,包括浏览器本身,但有时你需要对文件有更多的控制。 在本指南中,我们将解释如何使用我们功能丰富的C#库,IronPDF,将网页转换为PDF格式,并推荐几个提供基本功能的替代工具。

将网页保存为PDF - 入门

在Visual Studio中创建您的项目

首先,打开Visual Studio,然后进入文件 -> 新建项目 -> 控制台应用程序。 输入您的项目名称,选择保存位置,然后点击下一步。 选择最新的.NET Framework,并点击创建。 项目启动并运行后,是时候添加我们的库了。

安装IronPDF库

IronPDF易于使用,但安装起来甚至更简单。 您可以这样做的方式有几种:

方法1:NuGet包管理器控制台

在Visual Studio中,在解决方案资源管理器中,右键单击引用,然后点击管理NuGet包。 点击浏览并搜索‘IronPDF’,然后安装最新版本。 如果您看到这样,它就运行了:

如何在Mac和Windows上将网页保存为PDF文件:图1

你也可以进入工具 -> NuGet包管理器 -> 包管理器控制台,并在包管理器选项卡中输入以下行:

Install-Package IronPdf

最后,您可以从NuGet的官方网站直接获取IronPDF。 从平台右侧菜单中选择下载包选项,双击下载以自动安装,并重新加载解决方案以开始在项目中使用它。

不起作用? 您可以在我们的高级NuGet安装指南中找到特定平台的帮助。

方法2:使用DLL文件

您还可以直接从我们这里获取IronPDF DLL文件并手动将其添加到Visual Studio。 请查阅我们的IronPDF安装指南以获取完整说明和Windows、macOS和Linux DLL包的链接。

添加IronPDF命名空间

请记得用IronPDF命名空间启动代码,如下所示:

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

如何使用IronPDF将网页保存为PDF

打开Visual Studio并添加IronPDF库后,我们开始实例化ChromePdfRenderer,该实例提供自定义URL捕获选项,包括页面布局、边距和PDF页面的方向。 然后,IronPDF使用RenderUrlAsPdf方法将网页捕获为PDF。

这是它的样子:

using IronPdf;

// Instantiate the Chrome PDF Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer()
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen, // Set how CSS is rendered
        PrintHtmlBackgrounds = true, // Enable printing background colors and images
        EnableJavaScript = true, // Enable JavaScript execution
        GrayScale = false, // Render in color
        PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait, // Page orientation
        PaperSize = IronPdf.Rendering.PdfPaperSize.A4, // Set paper size
        MarginTop = 0,
        MarginBottom = 0,
        MarginLeft = 0,
        MarginRight = 0,
        UseMarginsOnHeaderAndFooter = IronPdf.UseMargins.None // Control header/footer margins
    }
};

// Use Chrome Default Rendering for sizing content
renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering();

// Convert the webpage to a PDF
var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
using IronPdf;

// Instantiate the Chrome PDF Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer()
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen, // Set how CSS is rendered
        PrintHtmlBackgrounds = true, // Enable printing background colors and images
        EnableJavaScript = true, // Enable JavaScript execution
        GrayScale = false, // Render in color
        PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait, // Page orientation
        PaperSize = IronPdf.Rendering.PdfPaperSize.A4, // Set paper size
        MarginTop = 0,
        MarginBottom = 0,
        MarginLeft = 0,
        MarginRight = 0,
        UseMarginsOnHeaderAndFooter = IronPdf.UseMargins.None // Control header/footer margins
    }
};

// Use Chrome Default Rendering for sizing content
renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering();

// Convert the webpage to a PDF
var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
Imports IronPdf

' Instantiate the Chrome PDF Renderer
Private renderer As New ChromePdfRenderer() With {
	.RenderingOptions = New ChromePdfRenderOptions With {
		.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen,
		.PrintHtmlBackgrounds = True,
		.EnableJavaScript = True,
		.GrayScale = False,
		.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait,
		.PaperSize = IronPdf.Rendering.PdfPaperSize.A4,
		.MarginTop = 0,
		.MarginBottom = 0,
		.MarginLeft = 0,
		.MarginRight = 0,
		.UseMarginsOnHeaderAndFooter = IronPdf.UseMargins.None
	}
}

' Use Chrome Default Rendering for sizing content
renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering()

' Convert the webpage to a PDF
Dim pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/")
$vbLabelText   $csharpLabel

然后,使用SaveAs方法,可以轻松将呈现的URL网页保存为PDF。

// Save the rendered PDF to a file
pdf.SaveAs("example.pdf");
// Save the rendered PDF to a file
pdf.SaveAs("example.pdf");
' Save the rendered PDF to a file
pdf.SaveAs("example.pdf")
$vbLabelText   $csharpLabel

让我们看一下结果。 这是Chrome中IronPDF主页的样子:

如何在Mac和Windows上将网页保存为PDF文件:图2

这是我们的输出PDF文件。 您可以看到,即使将方向从横向更改为纵向,网站的结构依然完整且可读:

如何在Mac和Windows上将网页保存为PDF文件:图3

向PDF文档添加水印、密码和页眉

然而,IronPDF的功能不止于此 - 通过我们功能齐全的库,您可以精细调整并自定义您的演示。

如何使用IronPDF将水印添加到PDF

本节介绍如何使用ApplyStamp方法文档,在PDF中添加水印作为印章图像。

// Add a watermark using an online image
pdf.ApplyStamp(new ImageStamper("https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg"));
// Add a watermark using an online image
pdf.ApplyStamp(new ImageStamper("https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg"));
' Add a watermark using an online image
pdf.ApplyStamp(New ImageStamper("https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg"))
$vbLabelText   $csharpLabel

如何使用IronPDF为PDF添加密码保护

为PDF添加密码保护可防止未经授权的访问。 您可以为用户和管理员设置不同的密码,以允许自定义访问。

// Set a password for the PDF
pdf.Password = "EasyPassword";
// Set a password for the PDF
pdf.Password = "EasyPassword";
' Set a password for the PDF
pdf.Password = "EasyPassword"
$vbLabelText   $csharpLabel

如何使用IronPDF向PDF添加HTML页眉

使用HtmlHeaderFooter对象为您的演示加上最后一笔页眉。

// Add an HTML-based header to the PDF
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
   MaxHeight = 20, // Maximum height in millimeters
   HtmlFragment = "<h1>Headers are easy with IronPDF!</h1>", // Header HTML content
};
// Add an HTML-based header to the PDF
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
   MaxHeight = 20, // Maximum height in millimeters
   HtmlFragment = "<h1>Headers are easy with IronPDF!</h1>", // Header HTML content
};
' Add an HTML-based header to the PDF
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
	.MaxHeight = 20,
	.HtmlFragment = "<h1>Headers are easy with IronPDF!</h1>"
}
$vbLabelText   $csharpLabel

替代网页到PDF工具

使用网页浏览器保存页面就像使用内置打印菜单一样简单 - 只需在菜单中选择打印或按下键盘上的打印按钮快捷键。 一些在线工具在选择保存文件时提供PDF选项。

然而,这些选项还有很多不足之处 - 通常会破坏网页结构或完全忽略背景图形。 此外,当您保存为PDF时,它没有像IronPDF那样多的自定义选项。

Google Chrome

Chrome是迄今为止最受欢迎的网页浏览器,全球估计有35亿用户。 它拥有众多功能,其中之一就是将网页导出为PDF。

在将页面保存为PDF时,Chrome提供了一些基本选项,例如仅保存奇数页、偶数页或多页、改变纸张大小,并在纵向和横向之间切换布局。 然而,它在保留网站结构方面可能会有困难,经常会完全改变页面的外观,使其难以阅读,如下图所示:

如何在Mac和Windows上将网页保存为PDF文件:图4

Chrom中网页的外观

如何在Mac和Windows上将网页保存为PDF文件:图5

Chrome渲染的网页为PDF的样子

如何使用Google Chrome将网页转换为PDF

  • 通过点击右上角的三点打开Google Chrome下拉菜单
  • 单击打印…以打开弹出屏幕
  • 确保目标是‘另存为PDF’,然后选择保存

Microsoft Edge

作为微软经典的Internet Explorer的继任者,Edge在2018年更新为运行在Chromium引擎上 - 使其与Google的Chrome浏览器非常相似。 因此,将网页转换为PDF的过程几乎是相同的 - 同样也有相同的限制。

如何使用Microsoft Edge将网页保存为PDF

  • 通过点击右上角的三点打开Edge下拉菜单
  • 点击打印…并选择‘另存为PDF’作为您的打印机
  • 选择保存以将网页导出为PDF

Mozilla Firefox

Firefox是一个专注于安全性和用户隐私的替代网页浏览器。 它的特点是运行在自己的专用引擎上,而非Chromium。 然而,当涉及到将网页保存为PDF时,它的工作方式与Chrome和Edge非常相似。 和这些浏览器一样,它在某些页面的布局上也难以应对,使内容难以阅读。

如何使用Mozilla Firefox将网页保存为PDF

  • 通过点击右上角的汉堡菜单按钮(三条横线)打开Firefox下拉菜单
  • 点击打印…并在目标菜单中选择‘另存为PDF’
  • 选择保存以下载PDF

Apple Safari

像Mozilla一样,Apple使用自己的专用引擎运行其浏览器,与其他选项相比有一些细微的不同。 在我们的测试中,Safari生成的PDF文档最为准确,但缺乏自定义页面打印选择等功能。

如何使用Apple Safari将网页保存为PDF

  • 打开页面顶部的文件菜单并点击导出为PDF…
  • 选择文件的保存目的地并点击保存

Soda PDF

Soda PDF是一个免费的在线工具,允许您将网页转换为PDF,并提供许多其他功能。 在我们的测试中,它比大多数其他浏览器更准确,但未能加载网页中的多个图像。

如何使用Soda PDF Converter将PPT转换为PDF

  • 访问Soda PDF的在线转换工具并输入所需网页的URL
  • 等待工具生成您的PDF
  • 将会出现一个弹出窗口 - 选择文件的保存位置并点击保存

结论

网页浏览器和在线工具使用简单,并提供一系列基本的编辑功能。 然而,对于更强大的网页到PDF转换工具,IronPDF提供了无与伦比的灵活性。

网页到PDF的转换只是开始 - 通过PDF格式、内置的安全和合规功能等,IronPDF是满足您所有PDF文档需求的第一工具。

准备好亲自体验IronPDF了吗? 您可以从我们的IronPDF 30天免费试用开始。 它也完全免费用于开发目的,因此您可以真正了解它的功能。 如果您喜欢所看到的内容,IronPDF的起价仅为实惠的$799价格。 为了获得更多折扣,请查看Iron Suite捆绑包,您可以以两个价格获得所有九个Iron Software工具。 祝您编码愉快!

如何在Mac和Windows上将网页保存为PDF文件:图6

Curtis Chau
技术作家

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

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