C#实现将HTML网页或HTML字符串转换为PDF
作者:E-iceblue
将HTML转换为PDF可实现格式保留、可靠打印、文档归档等多种用途,满足不同领域和情境下的需求,所以本文就来介绍一下如何使用C#实现将HTML网页或HTML字符串转换为PDF,有需要的可以参考下
将HTML转换为PDF可实现格式保留、可靠打印、文档归档等多种用途,满足不同领域和情境下的需求。本文将通过以下两个示例,演示如何使用第三方库Spire.PDF for .NET和QT插件在C# 中将Html 网页(URL)或HTML字符串转为PDF文件。
HTML转PDF所需工具
1. Spire.PDF for .NET
首先需要安装Spire.PDF for .NET到你的项目中,可以官网下载后手动引入,或通过nuget安装。
2. Qt WebEngine
用到QT插件为Qt WebEngine,以下是各操作系统对应的插件包,可点击直接下载,然后解压缩到指定路径。
示例一:使用QT插件将Html 网页(URL)转为PDF
步骤:
- 指定要转换的URL地址、生成文件路径和QT插件路径;
- 调用 HtmlConverter.Convert(string url, string fileName, bool enableJavaScript, int timeout, SizeF pageSize, PdfMargins margins) 方法来转换 URL 为 PDF 文件。
C# 代码:
using Spire.Pdf.Graphics; using Spire.Pdf.HtmlConverter.Qt; using System.Drawing; namespace ConvertUrlToPdf { class Program { static void Main(string[] args) { //指定网页URL地址 string url = "https://www.baidu.com/"; //指定输出文件路径 string fileName = "Url转Pdf.pdf"; //指定插件路径 string pluginPath = "F:\\plugins-windows-x64\\plugins"; //设置插件路径 HtmlConverter.PluginPath = pluginPath; //将HTML网页转换为PDF HtmlConverter.Convert(url, fileName, true, 100000, new Size(1080, 1000), new PdfMargins(0)); } } }
转换百度首页的效果图:
示例二:使用QT插件将Html 字符串转为PDF
步骤:
- 通过File.ReadAllText() 方法从一个 html文件中读取字符串;
- 指定生成文件和QT插件路径;
- 调用 HtmlConverter.Convert(string htmlString, string fileName, bool enableJavaScript, int timeout, SizeF pageSize, PdfMargins margins, Spire.Pdf.HtmlConverter.LoadHtmlType htmlType) 方法将 HTML 字符串转换为 PDF 文件。
C# 代码:
using System.IO; using Spire.Pdf.HtmlConverter.Qt; using System.Drawing; using Spire.Pdf.Graphics; namespace ConvertHtmlStringToPdfWithPlugin { class Program { static void Main(string[] args) { //从.html文件中获取HTML字符串 string htmlString = File.ReadAllText("示例.html"); //指定输出文件路径 string fileName = "Html字符串转Pdf.pdf"; //指定插件路径 string pluginPath = "F:\\plugins-windows-x64\\plugins"; //设置插件 HtmlConverter.PluginPath = pluginPath; //将HTML字符串转换为PDF HtmlConverter.Convert(htmlString, fileName, true, 100000, new Size(1080, 1000), new PdfMargins(0), Spire.Pdf.HtmlConverter.LoadHtmlType.SourceCode); } } }
请注意:只有内联 CSS 样式和内部 CSS 样式可以在 PDF 上正确呈现。如果是外部 CSS 样式,需要先将其转换为内联或内部 CSS 样式。
总结:通过以上两个简单的C#示例代码,我们可以实现HTML网页转PDF,或HTML字符串转PDF。Spire.PDF for .NET库也支持在不使用插件的情况下将HTML转为PDF,但借助QT插件可以实现更好的渲染效果。
到此这篇关于C#实现将HTML网页或HTML字符串转换为PDF的文章就介绍到这了,更多相关C# HTML转PDF内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!