WkHtmlToPdf-DotNet:核心功能/场景
将HTML页面转换为PDF格式
项目介绍
WkHtmlToPdf-DotNet 是一个.NET Core的P/Invoke封装库,它基于著名的 wkhtmltopdf 库,使用Webkit引擎进行HTML页面到PDF格式的转换。该库经过在Windows、Linux、MacOSX以及Docker环境中的成功测试,为开发者提供了一个高效且可靠的解决方案。
项目技术分析
WkHtmlToPdf-DotNet 通过封装原生的wkhtmltopdf库,使得.NET Core应用程序能够方便地调用其功能。它避免了手动添加原生二进制文件到项目中的繁琐操作,通过NuGet包管理工具即可轻松集成。此外,该项目遵循了wkhtmltopdf的原始许可协议,确保了开源社区的合规使用。
安装
WkHtmlToPdf-DotNet 可以通过NuGet包管理器进行安装。在包管理器控制台执行以下命令:
PM> Install-Package Haukcode.WkHtmlToPdfDotNet
构建项目
构建项目时,需要从GitHub的Release页面下载wkhtmltopdf的二进制文件(当前版本为0.12.5),并将其放置在项目中的指定文件夹下。需要注意的是,这些二进制文件在构建NuGet包时是必需的,但在使用NuGet包时则不需要。
项目及技术应用场景
WkHtmlToPdf-DotNet 的主要应用场景包括但不限于:
- 报表生成:为Web应用程序生成高质量的PDF报表。
- 文档转换:将HTML文档转换为PDF格式以便打印或存储。
- 自动化任务:在后台任务中批量转换网页。
- Web服务器集成:为Web服务器提供PDF生成功能。
使用方式
该项目提供了两种转换器:单线程应用的BasicConverter和多线程应用的SynchronizedConverter。开发者可以根据应用场景选择合适的转换器。
var converter = new BasicConverter(new PdfTools());
var converter = new SynchronizedConverter(new PdfTools());
定义文档
在转换过程中,开发者可以定义文档的全局设置,如颜色模式、方向、纸张大小等。
var doc = new HtmlToPdfDocument()
{
GlobalSettings = {
ColorMode = ColorMode.Color,
Orientation = Orientation.Landscape,
PaperSize = PaperKind.A4Plus,
},
Objects = {
// ...
}
};
转换过程
转换完成后,可以根据需要保存为文件或返回字节数组。
byte[] pdf = converter.Convert(doc);
项目特点
- 易用性:通过NuGet包管理器即可轻松集成。
- 跨平台:支持Windows、Linux、MacOSX和Docker环境。
- 无需手动安装二进制文件:NuGet包中已包含所需的原生二进制文件。
- 丰富的文档设置:提供多种全局设置和对象设置选项。
- 线程安全:支持多线程应用。
- 易于集成:支持依赖注入,便于在.NET Core应用程序中使用。
WkHtmlToPdf-DotNet 是一个功能强大且易于使用的开源项目,适合需要在.NET Core应用程序中实现HTML到PDF转换的开发者使用。通过其高效稳定的性能,为开发者节省了大量的时间和精力,是Web应用程序报表生成和文档转换的理想选择。