.NET使用DinkToPdf將HTML轉(zhuǎn)成PDF的示例代碼
0.介紹
C# .NET Core wrapper for wkhtmltopdf library that uses Webkit engine to convert HTML pages to PDF.
最近瀏覽文章的時(shí)候發(fā)現(xiàn)DinkToPdf框架,可以利用HTML轉(zhuǎn)換成PDF,與我早期使用ITextSharp 框架構(gòu)建PDF的方式不太一樣。DinkToPdf直接將HTML轉(zhuǎn)成PDF,HTML的構(gòu)造直觀且簡(jiǎn)單。這種方式可能可以成為不錯(cuò)的選擇!
下面為大家簡(jiǎn)單介紹DinkToPdf的使用方式。
1. 參考資料
Github https://github.com/rdvojmoc/DinkToPdf
2.核心內(nèi)容
構(gòu)造HtmlToPdfDocument對(duì)象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 轉(zhuǎn)成 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); }
注意點(diǎn)
框架依賴于wkhtmltopdf,在自己部署的時(shí)候如果提示缺少dll,記得去官方Git上下載(樣例源碼已經(jīng)復(fù)制了64位的dll)
https://github.com/rdvojmoc/DinkToPdf/tree/master/v0.12.4
3.效果圖
展示Html文本形式w3c表格截圖
pdf生成結(jié)果圖
URL方式百度網(wǎng)址生成pdf效果圖
4.樣例源碼地址
https://github.com/Impartsoft/Bins/tree/main/DinkToPdfDemo
到此這篇關(guān)于.NET使用DinkToPdf將HTML轉(zhuǎn)成PDF的示例代碼的文章就介紹到這了,更多相關(guān).NET HTML轉(zhuǎn)成PDF內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
.NET 與樹莓派WS28XX 燈帶的顏色漸變動(dòng)畫效果的實(shí)現(xiàn)
所謂顏色漸變動(dòng)畫,首先,你要確定兩種顏色——起始色和最終色,比如從綠色變成紅色,綠色是起始,紅色是終點(diǎn)。這篇文章主要介紹了.NET 與樹莓派WS28XX 燈帶的顏色漸變動(dòng)畫,需要的朋友可以參考下2021-12-12ASP.NET數(shù)據(jù)庫(kù)操作類實(shí)例
這篇文章主要介紹了ASP.NET數(shù)據(jù)庫(kù)操作類,結(jié)合實(shí)例形式分析了asp.net基本的數(shù)據(jù)庫(kù)增刪改查操作封裝相關(guān)技巧,需要的朋友可以參考下2017-03-03基于asp.net實(shí)現(xiàn)圖片在線上傳并在線裁剪功能
本文主要介紹了基于asp.net實(shí)現(xiàn)圖片在線上傳并在線裁剪功能的具體事例代碼,具有一定的參考價(jià)值。需要的朋友可以參考下2016-12-12無(wú)法將類型為“System.Web.UI.WebControls.HiddenField”的對(duì)象強(qiáng)制轉(zhuǎn)換為類型的錯(cuò)誤的解
無(wú)法將類型為“System.Web.UI.WebControls.HiddenField”的對(duì)象強(qiáng)制轉(zhuǎn)換為類型的錯(cuò)誤的解決方法2011-12-12Asp.Net Core Identity 隱私數(shù)據(jù)保護(hù)的實(shí)現(xiàn)
這篇文章主要介紹了Asp.Net Core Identity 隱私數(shù)據(jù)保護(hù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01ASP.NET SignaiR 實(shí)現(xiàn)消息的即時(shí)推送,并使用Push.js實(shí)現(xiàn)通知的示例代碼
ASP.NET SignalR 是為 ASP.NET 開發(fā)人員提供的一個(gè)庫(kù),可以簡(jiǎn)化開發(fā)人員將實(shí)時(shí) Web 功能添加到應(yīng)用程序的過(guò)程。有興趣的可以了解一下。2017-01-01解決asp.net mvc UpdateModel更新對(duì)象后出現(xiàn)null問(wèn)題的方法
這篇文章主要介紹了解決asp.net mvc UpdateModel 更新對(duì)象后出現(xiàn)null問(wèn)題的方法,需要的朋友可以參考下2015-11-11ASP.NET開源導(dǎo)入導(dǎo)出庫(kù)Magicodes.IE完成Csv導(dǎo)入導(dǎo)出的方法
這篇文章主要介紹了ASP.NET開源導(dǎo)入導(dǎo)出庫(kù)Magicodes.IE完成Csv導(dǎo)入導(dǎo)出的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06