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

