.NET使用DinkToPdf将HTML转成PDF的示例代码
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的构造直观且简单。这种方式可能可以成为不错的选择!
下面为大家简单介绍DinkToPdf的使用方式。
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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
asp.net中SqlCacheDependency缓存技术概述
这篇文章主要介绍了asp.net中SqlCacheDependency缓存技术概述,是大型web程序设计中常用的技术,本文对此进行了较为详细的描述,需要的朋友可以参考下2014-08-08使用DataTable.Select 方法时,特殊字符的转义方法分享
常见的特殊字符 基本都能转义 ,不知道还有没有漏掉的 ,目前使用正常 ,有需要的朋友可以参考一下2013-10-10MVC+EasyUI+三层新闻网站建立 分页查询数据功能(七)
这篇文章主要为大家详细介绍了MVC+EasyUI+三层新闻网站建立的第七篇,教大家如何分页查询出数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-07-07ASP.NET小结之MVC, MVP, MVVM比较以及区别(一)
MVC, MVP和MVVM都是用来解决界面呈现和逻辑代码分离而出现的模式。以前只是对它们有部分的了解,没有深入的研究过,对于一些里面的概念和区别也是一知半解。现在一边查资料,并结合自己的理解,来谈一下对于这三种模式思想的理解,以及它们的区别。欢迎各位高手拍砖。2014-05-05asp.net 上传或下载当文件名包含有特殊字符"#"的处理
在上传或下载文件时,当文件名包含有"#"特殊字符时,上传以后的文件会被改名字,造成下载也下载不了。2010-03-03
最新评论