一个支持将Html页面转为PDF的.Net开源项目

126 阅读3分钟

推荐一个可以将Html页面转为PDF的开源项目。

01 项目简介

这是一个基于.Net开发的开源项目,本质是用 Webkit 引擎将 HTML 页面转换为 PDF,可以用在控制台、 Web 应用程序和 Web API中。

02 使用示例

1、创建转化器

//同步转化器
var converter = new BasicConverter(new PdfTools());

//异步转化器
var converter = new SynchronizedConverter(new PdfTools());

在多线程程序和 Web 服务器中可以使用异步转换器,避免转换任务阻塞其他线程。

2、定义文档格式

var doc = new HtmlToPdfDocument()
{
    GlobalSettings = {
        ColorMode = ColorMode.Color,
        Orientation = Orientation.Landscape,
        PaperSize = PaperKind.A4Plus,
    },
    Objects = {
        new ObjectSettings() {
            PagesCount = true,
            HtmlContent = @"<h1>标题1</h1>
                            内容内容内容内容内容内容内容内容内容内容",
            WebSettings = { DefaultEncoding = "utf-8" },
            HeaderSettings = { FontSize = 9, Right = "Page [page] of [toPage]", Line = true, Spacing = 2.812 }
        }
    }
}

3、转换

byte[] pdf = converter.Convert(doc);

if (!Directory.Exists("Files"))
{
    Directory.CreateDirectory("Files");
}

using (FileStream stream = new FileStream(@"Files\" + DateTime.UtcNow.Ticks.ToString() + ".pdf", FileMode.Create))
{
    stream.Write(pdf, 0, pdf.Length);
}

效果如下:

图片

03 项目地址

github.com/rdvojmoc/Di…

- End -

推荐阅读

一个用于操作Excel文件的.NET开源库

【配置教程】撑起月6亿PV开源监控解决方案

推荐一个Star 1.3K报表.Net开源项目

.Net开发的跨平台Word模板引擎

一个很简单却能让你快速掌握C#的方法