将 HTML 转换为 PDF 是一种常见的需求。这种转换方式能够帮助用户轻松保存、共享和打印网页内容,同时确保文档的格式和布局始终保持一致。通过将网页、报告或文章等内容转换为 PDF 格式,用户可以创建便携式文档,方便在不同设备和平台上查看和传播,有效提升信息的可读性和实用性。
Spire.PDF for .NET 提供了一种新的方法,支持通过 ChromeHtmlConverter 将 HTML 转换为 PDF。本文将对该方法进行详细的介绍。
安装 Spire.PDF for .NET
首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.PDF
安装 Chrome
此方法需要用到 Chrome.exe 进行转换。如果您的系统尚未安装 Chrome,可以通过此链接下载安装。
使用 ChromeHtmlConverter 将 HTML 转换为 PDF
你可以使用 ChromeHtmlConverter.ConvertToPdf() 方法通过 Chrome 插件将 HTML 文件转换为 PDF。此方法接受三个参数:输入 HTML 地址,输出 PDF 文件路径,以及用于自定义转换设置(例如转换超时时间、PDF 纸张大小和页边距)的 ConvertOptions 对象。具体步骤如下:
- 创建 ChromeHtmlConverter 类的实例,并在构造函数中指定 Chrome 插件(chrome.exe)的路径。
- 创建 ConvertOptions 类的实例。
- 通过 ConvertOptions 类的属性自定义转换设置,例如超时时间、纸张大小和页边距。
- 使用 ChromeHtmlConverter.ConvertToPdf() 方法将 HTML 转换为 PDF。
- C#
using Spire.Additions.Chrome;
namespace ConvertHtmlToPdfUsingChrome
{
internal class Program
{
static void Main(string[] args)
{
// 指定输入 URL 和输出 PDF 文件路径
string inputUrl = @"https://www.e-iceblue.cn/conversion/c-convert-pdf-to-images-jpg-png-bmp.html";
string outputFile = @"Html转PDF.pdf";
// 指定 Chrome 插件路径
string chromeLocation = @"C:\Program Files\Google\Chrome\Application\chrome.exe";
// 创建 ChromeHtmlConverter 类的实例
ChromeHtmlConverter converter = new ChromeHtmlConverter(chromeLocation);
// 创建 ConvertOptions 类的实例
ConvertOptions options = new ConvertOptions();
// 设置转换超时时间
options.Timeout = 10 * 3000;
// 设置 PDF 的纸张大小和页边距
options.PageSettings = new PageSettings()
{
PaperWidth = 8.27,
PaperHeight = 11.69,
MarginTop = 0,
MarginLeft = 0,
MarginRight = 0,
MarginBottom = 0
};
// 将 HTML 转换为 PDF
converter.ConvertToPdf(inputUrl, outputFile, options);
}
}
}
在 HTML 到 PDF 转换过程中生成日志文件
Spire.PDF for .NET 提供了生成日志的功能,方便用户在 HTML 到 PDF 转换过程中记录相关信息。具体步骤如下:
- 创建 ChromeHtmlConverter 类的实例,并在构造函数中指定 Chrome 插件(chrome.exe)的路径。
- 创建 Logger 类的实例,然后将其赋值给 ChromeHtmlConverter.Logger 属性来启用日志功能。
- 创建 ConvertOptions 类的实例。
- 通过 ConvertOptions 类的属性自定义转换设置,例如超时时间、纸张大小和页边距。
- 使用 ChromeHtmlConverter.ConvertToPdf() 方法将 HTML 转换为 PDF。
- C#
using Spire.Additions.Chrome;
namespace ConvertHtmlToPdfUsingChrome
{
internal class Program
{
static void Main(string[] args)
{
// 指定输入 URL 和输出 PDF 文件路径
string inputUrl = @"https://www.e-iceblue.cn/conversion/c-convert-pdf-to-images-jpg-png-bmp.html";
string outputFile = @"Html转PDF.pdf";
// 指定日志文件路径
string logFilePath = @"日志.txt";
// 指定 Chrome 插件路径
string chromeLocation = @"C:\Program Files\Google\Chrome\Application\chrome.exe";
// 创建 ChromeHtmlConverter 类的实例
ChromeHtmlConverter converter = new ChromeHtmlConverter(chromeLocation);
// 启用日志记录
converter.Logger = new Logger(logFilePath);
// 创建 ConvertOptions 类的实例
ConvertOptions options = new ConvertOptions();
// 设置转换超时时间
options.Timeout = 10 * 3000;
// 设置 PDF 的纸张大小和页边距
options.PageSettings = new PageSettings()
{
PaperWidth = 8.27,
PaperHeight = 11.69,
MarginTop = 0,
MarginLeft = 0,
MarginRight = 0,
MarginBottom = 0
};
// 将 HTML 转换为 PDF
converter.ConvertToPdf(inputUrl, outputFile, options);
}
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。