C# 使用 iText7 实现 HTML 转 PDF 指南
C# 使用 iText7 实现 HTML 转 PDF 指南
1. 引言
在当前的互联网网页开发领域,将 HTML 文件转换成 PDF 格式是一项常见的操作,这一需求常用于创建诸如发票、报告以及合同等类型的文件。iText7 是一款功能完备的 PDF 处理库,它能够提供丰富的 PDF 操作功能,其中包括将 HTML 内容转换成 PDF 格式。借助 iText7 的 pdfHTML 扩展功能本地html转换成pdf,我们能够简便地完成 HTML 文档向 PDF 格式的优质转换。
本文将详细阐述如何在C#编程语言中运用iText7库实现HTML文档向PDF格式的转换,同时附上相应的代码实例以及在使用过程中需要注意的相关事项。
2. 环境准备2.1 安装 NuGet 包
在项目配置中引入 iText7 及 pdfHTML 的 NuGet 软件包。
执行命令:dotnet 安装 itext7 包,指定版本号为 9.1.0。
使用dotnet命令行工具,添加名为itext7.pdfhtml的软件包,指定版本号为4.0.6。
将 HTML 文件转换成 PDF 格式,具体步骤包括:3.1 从原始的 HTML 文档中创建 PDF 文件。
//输入 HTML 文件路径
引用iText.Html2pdf.Resolver.Font类;
using iText.Html2pdf;
定义字符串变量htmlFilePath,其值为"table.html"。
// 输出 PDF 文件路径
设定字符串pdfFilePath的值为"tableoutput.pdf"。
// 将 HTML 文件转换为 PDF
HtmlConverter将htmlFilePath指定的文件以打开模式读取,并使用FileStream将pdfFilePath指定的文件以创建模式写入,同时通过ConverterProperties设置字体提供者为支持全部字体的DefaultFontProvider。
//公众号:net分享
控制台输出提示:“HTML文档转换成PDF格式完成。”
将 HTML 格式的文本内容转换为 PDF 文档
using iText.Html2pdf.Resolver.Font;
using iText.Html2pdf;
string htmlContent = @"
Net 分享
欢迎使用 iText7-一个 HTML 转 PDF
";
// 输出 PDF 文件路径
设定字符串pdfFilePath的值为"output_from_string.pdf"。
HtmlConverter执行转换操作,将htmlContent内容转换成PDF格式,同时指定输出路径为pdfFilePath,并采用创建模式打开文件流。此外,设置转换属性对象,其中包含一个字体提供者,该提供者默认启用字体嵌入、子集化和字体替换功能。
// 将 HTML 字符串转换为 PDF
执行HtmlConverter类的ConvertToPdf方法,将htmlContent转换为PDF格式,同时将生成的PDF文件保存至指定路径pdfFilePath,并确保文件以创建模式打开。
控制台输出:“HTML文本已顺利转化为PDF格式。”
5. 常见问题及解决方案5.1 字体显示问题
在生成的 PDF 文件中,中文以及其他的非拉丁字母字符呈现出混乱的编码状态。
解决方案:
安装 iText7 的字体支持包,使用命令:dotnet add package itext7.font-asian。在代码编写时,需指定适用于中文内容的字体:通过HtmlConverter.ConvertToPdf(htmlContent, new FileStream(pdfFilePath, FileMode.Create), new ConverterProperties().SetFontProvider(new DefaultFontProvider(true, true, true)))这一行实现。然而,遇到一个问题,即CSS样式并未按预期生效。
在生成的 PDF 文件中本地html转换成pdf本地html转换成pdfC# 使用 iText7 实现 HTML 转 PDF 指南,HTML 的样式没有得到恰当的执行。
解决方案:
请确认在 HTML 文档中已准确链接 CSS 文件。若采用外部 CSS 文件,务必核实路径无误且资源可被访问。此外,还需检查图片资源是否成功加载。
问题描述:PDF 文件中未显示 HTML 中的图片。
解决方案:
请确保图片的存放路径准确无误,采用绝对路径或者直接提供URL链接。若图片存储在本地,推荐采用绝对路径C# 使用 iText7 实现 HTML 转 PDF 指南,或者将图片直接嵌入到HTML文档中。总结。
本文为您详细介绍了如何利用 iText7 在 C# 环境下轻松完成 HTML 至 PDF 的转换过程。iText7 拥有卓越的功能,能够满足多种繁杂的 PDF 制作需求。它能够高效地满足各类业务需求。