.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)復(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
asp.net 數(shù)據(jù)庫的連接和datatable類
asp.net下數(shù)據(jù)庫的連接與數(shù)據(jù)庫datatable類實現(xiàn)代碼。2009-05-05
理解ASP.NET Core 依賴注入(Dependency Injection)
把有依賴關(guān)系的類放到容器中,解析出這些類的實例,就是依賴注入。目的是實現(xiàn)類的解耦。本文主要介紹了ASP.NET Core 依賴注入(Dependency Injection),需要了解具體內(nèi)容的可以仔細(xì)閱讀這篇文章,希望對你有所幫助2021-09-09
.NET的DateTime函數(shù)獲取上個月的起始和截止時間的方法
這篇文章主要介紹了NET的DateTime函數(shù)獲取上個月的起始和截止時間的方法,可廣泛使用于報表中的時間自動選擇功能,是非常實用的技巧,需要的朋友可以參考下2015-01-01
Entity Framework Core實現(xiàn)軟刪除與查詢過濾器
這篇文章介紹了Entity Framework Core實現(xiàn)軟刪除與查詢過濾器的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02
asp.net Repeater取得CheckBox選中的某行某個值的c#寫法
asp.net(c#)利用Repeater取得CheckBox選中行的某個值的代碼2008-08-08

