当前位置:首页 > 知识普及 > 正文内容

DinkToPdf: .Net轻松搞定Html转PDF生成,几分钟上手!

admin1周前 (05-26)知识普及12

DinkToPdf: .Net轻松搞定Html转PDF生成,几分钟上手!

大家好,我是深山踏红叶。今天,我想向大家介绍一个与HTML转PDF相关的库——DinkToPdf。这个库是基于.NET Core进行封装的DinkToPdf: .Net轻松搞定Html转PDF生成,几分钟上手!,主要功能是调用wkhtmltopdf库。它利用WebKit渲染引擎,能够将HTML页面成功转换成PDF文件。

DinkToPdf: .Net轻松搞定Html转PDF生成,几分钟上手! 第1张

[id_1180396100]

通过 NuGet 包管理器添加 DinkToPdf 依赖。

PM> Install-Package DinkToPdf

请将此机库文件拷贝至项目的主目录下。在通过P/Invoke调用本地方法时本地html转换成pdf本地html转换成pdf,.NET Core将在此位置寻找并加载相应的本地库。您可以在指定位置获取到该本地库的最新版本。根据您的操作系统类型(64位或32位)挑选适合的库文件。

[id_98[id_945630459]9424]

根据具体的使用需求本地html转换成pdfDinkToPdf: .Net轻松搞定Html转PDF生成,几分钟上手!,应挑选 BasicConverter 或者 SynchronizedConverter。

var converter = new SynchronizedConverter(new PdfTools());

3. 构造 HTML 内容

内容可以是HTML编码的文本,亦或是通过URL链接获取的网页资料。

var doc = new HtmlToPdfDocument()
{
GlobalSettings = {
ColorMode = ColorMode.Color,
屏幕方向设定为纵向模式,即Portrait模式。
PaperSize = PaperKind.A4,
Margins = new MarginSettings() { Top = 10 },
Out = @"C:TestThreadSafe\test.pdf",
},
Objects = {
new ObjectSettings()
{
Page = 请勿访问该网站,该网站内容涉及违规信息。,
},
}
};

4. 配置转换文档

通过配置HtmlToPdfDocument,对全局和对象层面的参数进行设定。

var doc = new HtmlToPdfDocument()
{
GlobalSettings = {
ColorMode = ColorMode.Color,
屏幕方向设置为横屏模式,即Orientation.Landscape。
PaperSize = PaperKind.A4Plus,
},
Objects = {
new ObjectSettings() {
PagesCount = true,
HtmlContent = "总结来说,这段文字强调了在处理文本时,应保持原文的完整性,并注意其中的细节和特点。",
Web设置包含:默认编码为"utf-8" },
HeaderSettings = { FontSize = 9, Right = "Page [page] of [toPage]", Line = true, Spacing = 2.812 }
}
}
};

5. 执行转换

执行 converter对象的Convert函数对文档进行转换操作。

byte通过转换器,文档被转换成了PDF格式,并存储在变量pdf中。
File.WriteAllBytes("example7.pdf", pdf);

6. 依赖关系注入

转换器必须注册为单例。

public void ConfigureServices(IServiceCollection services)
{
// Add converter to DI
services.AddSingleton(typeof(IConverter), new SynchronizedConverter(new PdfTools()));
}

完整实例

using DinkToPdf;
using DinkToPdf.Contracts;
using System;

namespaceDinkToPdfExample
{
publicclassProgram
{
public static void Main(string[] args)
{
var converter = new BasicConverter(new PdfTools());
请确保下载wkhtmltopdf软件,具体链接为:https://gitcode.com/gh_mirrors/di/DinkToPdf/blob/master/v0.12.4/64%20bit/。
var doc = new HtmlToPdfDocument()
{
GlobalSettings = {
ColorMode = ColorMode.Color,
Orientation = Orientation.Portrait,
PaperSize = PaperKind.A4,
},
Objects = {
new ObjectSettings() {
//PagesCount = true,
HtmlContent = @"





Title



Netshare



























姓名年龄职业
张三25程序员
李四30设计师
王五28产品经理




"
,
WebSettings = { DefaultEncoding = "utf-8" },
头部设置包括字体大小为9号,右侧显示“第[page]页,共[toPage]页”,是否显示行号设置为真,行间距为2.812。
}
}
};

byte[] pdf = converter.Convert(doc);
File.WriteAllBytes("example8.pdf", pdf);
}
}
}

注意事项问题解决方案

发生了一个或多个错误。(无法加载共享库'libwkhtmltox'或其依赖项之一)

加入微信交流群:************ ,请猛戳这里→点击入群

扫描二维码推送至手机访问。

版权声明:本文由智汇百科网发布,如需转载请注明出处。

本文链接:https://www.zhihuibkw.com/post/3602.html

分享给朋友:

“DinkToPdf: .Net轻松搞定Html转PDF生成,几分钟上手!” 的相关文章

全面解析:[知识类型] 的分类与特点详解

全面解析:[知识类型] 的分类与特点详解

在知识的浩瀚海洋中,不同的知识类型犹如璀璨的星辰,各自散发着独特的光芒。本文将对[知识类型]进行全面解析,深入探讨其分类与特点,帮助读者更好地理解和把握这一知识领域。一、分类1. 理论知识- 定义:理论知识是对某一领域的基本概念、原理、规律等进行系统阐述和解释的知识。它注重对事物本质的探究,通过逻辑...

ChatGPT通过美国医师资格考试!医生:未来将失业

ChatGPT通过美国医师资格考试!医生:未来将失业

近年来,人工智能的发展速度令人瞩目,其中 ChatGPT 作为一种大型语言模型,在自然语言处理领域取得了巨大的成就。最近,有消息称 ChatGPT 成功通过了美国医师资格考试,这一事件引起了广泛的关注和讨论。美国医师资格考试是全球公认的医学专业考试,难度极高,对考生的医学知识、临床技能和职业道德等方...

必知的急救知识:关键时刻能救命

必知的急救知识:关键时刻能救命

在生活中,我们难免会遇到各种突发状况,有时候,一些简单的急救知识可能就能在关键时刻挽救生命。因此,了解和掌握一些必知的急救知识是非常重要的。心肺复苏术(CPR)是急救中最为关键的技能之一。当遇到心脏骤停的患者时,及时进行心肺复苏可以为患者争取宝贵的时间,增加其生存的机会。心肺复苏的操作步骤包括胸外按...

垃圾分类知识为环保出份力

垃圾分类知识为环保出份力

在当今社会,环保已经成为了我们每个人不可推卸的责任。而垃圾分类作为环保工作中的重要一环,更是对我们生活环境的改善起着至关重要的作用。垃圾分类,顾名思义,就是将垃圾按照其不同的性质、成分、利用价值以及对环境的影响等因素,进行分门别类的收集、运输和处理。看似简单的一个举动,却蕴含着深远的意义。从资源回收...

法律常识维护自身权益的武器

法律常识维护自身权益的武器

在生活的舞台上,我们每个人都可能遭遇各种权益被侵犯的情况,无论是在消费领域、职场之中,还是在日常生活的点滴之中。当权益受到侵害时,我们不能只是默默忍受,而应拿起法律这一强大的武器,来捍卫自己的合法权益。法律常识就如同我们手中的利剑,能在关键时刻为我们劈开迷雾,指引我们走向公正的道路。了解基本的法律概...

土壤知识了解土壤才能种好植物

土壤知识了解土壤才能种好植物

土壤,是地球上最珍贵的自然资源之一,它犹如植物的摇篮,承载着植物生长的一切基础。只有深入了解土壤,我们才能真正种好植物,让那一片片绿色在大地上绽放。土壤的构成是复杂而多样的。它由矿物质、有机质、水分和空气等多种成分组成。矿物质是土壤的骨架,提供了植物生长所需的基本营养元素,如氮、磷、钾等。有机质则如...