在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
0.介绍C# .NET Core wrapper for wkhtmltopdf library that uses Webkit engine to convert HTML pages to PDF. 最近浏览文章的时候发现DinkToPdf框架,可以利用HTML转换成PDF,与我早期使用ITextSharp 框架构建PDF的方式不太一样。DinkToPdf直接将HTML转成PDF,HTML的构造直观且简单。这种方式可能可以成为不错的选择! 1. 参考资料Github https://github.com/rdvojmoc/DinkToPdf 2.核心内容构造HtmlToPdfDocument对象Html文本形式 string html = @"<!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>W3Cschool</title> </head> <body> <h4>Html文本</h4> </body> </html> var doc = new HtmlToPdfDocument() { GlobalSettings = { ColorMode = ColorMode.Color, Orientation = Orientation.Landscape, PaperSize = PaperKind.A4, }, Objects = { new ObjectSettings() { PagesCount = true, HtmlContent = htmlContent, WebSettings = { DefaultEncoding = "utf-8" }, HeaderSettings = { FontSize = 9, Right = "Page [ page ] of [ toPage ]", Line = true }, FooterSettings = { FontSize = 9, Right = "Page [ page ] of [ toPage ]" } } } }; URL方式 string url = ""https://www.baidu.com/"; var doc = new HtmlToPdfDocument() { GlobalSettings = { PaperSize = PaperKind.A4Small }, Objects = { new ObjectSettings() { Page = url, } } }; HtmlToPdfDocument 转成 PDF var converter = new BasicConverter(new PdfTools()); byte[] pdf = converter.Convert(doc); 生成PDF 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); } 注意点 框架依赖于wkhtmltopdf,在自己部署的时候如果提示缺少dll,记得去官方Git上下载(样例源码已经复制了64位的dll) https://github.com/rdvojmoc/DinkToPdf/tree/master/v0.12.4 3.效果图展示Html文本形式w3c表格截图 pdf生成结果图 URL方式百度网址生成pdf效果图 4.样例源码地址https://github.com/Impartsoft/Bins/tree/main/DinkToPdfDemo 到此这篇关于.NET使用DinkToPdf将HTML转成PDF的示例代码的文章就介绍到这了,更多相关.NET HTML转成PDF内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论