推荐一个可以将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 项目地址
https://github.com/rdvojmoc/DinkToPdf
更多开源项目: https://github.com/bianchenglequ/NetCodeTop
我是编程乐趣,一个.Net开发经验老程序员,欢迎“关注”我,每天为你分享开源项目和编程知识。
也欢迎加入【.Net技术编程交流社区】,和大家共同学习交流!,点击加入:https://bbs.csdn.net/topics/613465368
- End -