推荐一个可以将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 -