您现在的位置是:网站首页> 编程资料编程资料
.NET使用DinkToPdf将HTML转成PDF的示例代码_实用技巧_
2023-05-24
435人已围观
简介 .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 = @"W3Cschool 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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关内容
- 在.NetCore(C#)中使用ODP.NET Core+Dapper操作Oracle数据库_实用技巧_
- .NET使用MailKit进行邮件处理的方法步骤_实用技巧_
- .NET+PostgreSQL实践与避坑指南(推荐)_实用技巧_
- .NET 操作 PostgreSQL遇到的问题_实用技巧_
- 详解如何在ASP.NET Core中使用Route特性_实用技巧_
- ASP.NET Core中如何实现重定向详解_实用技巧_
- 如何在ASP.NET Core中使用Session的示例代码_实用技巧_
- Asp.Net Core中发送Email的完整步骤_实用技巧_
- .NET Core 处理 WebAPI JSON 返回烦人的null为空_实用技巧_
- asp.net core集成CKEditor实现图片上传功能的示例代码_实用技巧_
