HTML 文件是通常以文件扩展名 .html 或 .htm 保存的网页文档。 由于 PDF 的可移植性和兼容性,将 HTML 内容转换为 PDF 具有许多优势。 由于 PDF 支持范围广泛的图像压缩,即使在一个文件中保存了很多的数据,在硬盘驱动器上也不会占用很多的存储空间。因为即使压缩数据,转换为 PDF 的 HTML 文档仍会保留网页的原始文本和布局。 并且可以在任何设备或操作系统上保存和共享 PDF,同时保证文档的内容、布局和质量。现在只要使用 QT Web 插件就可以轻松将 HTML 转换为 PDF文件。 本文将向大家展示如何使用插件将 HTML 转换为 PDF。下面是具体步骤及思路,并附上C#/VB.NET代码供大家参考。
引入dll
1.通过NuGet安装dll(2种方法)
1.1可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.PDF”,点击“安装”。等待程序安装完成。
1.2将以下内容复制到PM控制台安装:
Install-Package FreeSpire.PDF -Version 8.2.0
2.手动添加dll引用
可通过手动下载包到本地,然后解压,找到BIN文件夹下的Spire.PDF.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。
下载插件
如果您选择插件方式,请从以下链接下载适合您操作系统的插件。
在磁盘上的某个位置解压缩包以获取 "plugins" 文件夹。在本例中,我们将插件保存在路径 " E:\\case\\plugins " 下。
详细步骤:
- 从HTM文件中获取HTML字符串。
- 指定生成文件路径。
- 指定插件路径并通过HtmlConverter.PluginPath属性设置插件路径。
- 调用HtmlConverter.Convert()方法将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)
{
//从HTM文件中获取HTML字符串
string htmlString = File.ReadAllText("True love knows no obstacles or distance.htm");
//指定生成文件路径
string fileName = "HtmlStringToPdf.pdf";
//指定插件路径
string pluginPath = "E:\\case\\plugins";
//设置插件路径
HtmlConverter.PluginPath = pluginPath;
//将HTML字符串转换为PDF
HtmlConverter.Convert(htmlString, fileName, true, 100000, new Size(1080, 1000), new PdfMargins(0), Spire.Pdf.HtmlConverter.LoadHtmlType.SourceCode);
}
}
}
【VB.NET】
Imports System.IO
Imports Spire.Pdf.HtmlConverter.Qt
Imports System.Drawing
Imports Spire.Pdf.Graphics
Namespace ConvertHtmlStringToPdfWithPlugin
Class Program
Private Shared Sub Main(ByVal args() As String)
'从HTM文件中获取HTML字符串
Dim htmlString As String = File.ReadAllText("True love knows no obstacles or distance.htm")
'指定生成文件路径
Dim fileName As String = "HtmlStringToPdf.pdf"
'指定插件路径
Dim pluginPath As String = "E:\case\plugins"
'设置插件路径
HtmlConverter.PluginPath = pluginPath
'将HTML字符串转换成PDF文件
HtmlConverter.Convert(htmlString, fileName, true, 100000, New Size(1080, 1000), New PdfMargins(0), Spire.Pdf.HtmlConverter.LoadHtmlType.SourceCode)
End Sub
End Class
End Namespace
效果图: