.NET使用DinkToPdf将HTML转成PDF
2021-02-04 23:14
1251 查看
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. 参考资料
2.核心内容
-
构造HtmlToPdfDocument对象
Html文本形式
string html = @"<!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>W3Cschoo 1044 l</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)
3.效果图展示
-
Html文本形式
w3c表格截图
pdf生成结果图
-
URL方式
百度网址生成pdf效果图
4.样例源码地址
相关文章推荐
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
- 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(源代码下载和PDF文档下载)
- 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(源代码下载和PDF文档下载)
- 使用 itext、flying-saucer 实现html转PDF
- 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(源代码下载和PDF文档下载)
- CentOS6.3 下使用wkhtmltopdf(html转pdf文件)
- 使用html2canvas截屏,利用itextpdf转为pdf保存到数据库
- Java使用wkhtmltox实现HTML代码生成PDF文档或者图片
- 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(源代码下载和PDF文档下载)
- 使用Itext把html转换成pdf文件
- 使用abcpdf将html转换成pdf文件
- 使用jasperreports制作报表(导出pdf excel html)
- Java 使用jacob ppt文件转pptx,doc转docx;word 转html、pdf等
- 使用Pechkin将HTML网页转换为PDF
- 使用pd4ml 将html转换为pdf html2pdf
- 使用xhtmlrenderer把html转换为PDF后右侧内容不显示
- 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(源代码下载和PDF文档下载)
- VS2010使用.net 4.0中的ASP.NET MVC 2 模板建立工程后无法提交HTML代码解决方案一则
- .net HTMLParser详细使用说明 强大的Filter类 解析HTML文档如此简单
- 使用BO JAVA SDK打开WEBI报表,并进行PDF、EXCEL、CSV、HTML导出