使用C#代码将 HTML 转换为 PDF、XPS 和 XML

HTML 是网页和在线内容的标准格式。然而,在许多场景中,您可能需要将 HTML 文档转换为其他文件格式,例如 PDF、XPS 和 XML。无论是想生成网页的可打印版本,将 HTML 内容以更通用的格式分享,还是从 HTML 中提取数据以便进一步处理,能够可靠地将 HTML 文档转换为这些格式都是一项重要技能。在本文中,我们将演示如何使用 Spire.Doc for .NET 在 C# 中将 HTML 转换为 PDF、XPS 和 XML。

安装 Spire.Doc for .NET

首先,您需要将 Spire.Doc for .NET 包中包含的 DLL 文件添加为您的 .NET 项目的引用。您可以通过此链接下载 DLL 文件,也可以通过 NuGet 进行安装。

cs 复制代码
PM> Install-Package Spire.Doc

在 C# 中将 HTML 转换为 PDF

将 HTML 转换为 PDF 有多个优势,包括增强的可移植性、一致的格式,以及便于分享。PDF 文件可以保留 HTML 内容的原始布局、样式和视觉元素,确保文档在不同设备和平台上显示一致。

您可以使用 Document.SaveToFile(string filename, FileFormat.PDF) 方法将 HTML 文件转换为 PDF 格式。具体步骤如下:

  1. 创建一个 Document 对象的实例。
  2. 使用 Document.LoadFromFile() 方法加载 HTML 文件。
  3. 使用 Document.SaveToFile(string filename, FileFormat.PDF) 方法将 HTML 文件保存为 PDF 格式。

示例代码如下:

cs 复制代码
using Spire.Doc;
using Spire.Doc.Documents;

namespace ConvertHtmlToPdf
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 创建 Document 类的实例
            Document doc = new Document();
            // 加载 HTML 文件
            doc.LoadFromFile("Sample.html", FileFormat.Html, XHTMLValidationType.None);

            // 将 HTML 文件转换为 PDF 格式
            doc.SaveToFile("HtmlToPDF.pdf", FileFormat.PDF);
            // 关闭文档
            doc.Close();
        }
    }
}

在 C# 中将 HTML 字符串转换为 PDF

除了将 HTML 文件转换为 PDF,您还可以将 HTML 字符串转换为 PDF。Spire.Doc for .NET 提供了 Paragraph.AppendHTML() 方法,可将 HTML 字符串添加到 Word 文档中。添加完成后,您可以使用 Document.SaveToFile(string filename, FileFormat.PDF) 方法将文档转换为 PDF。具体步骤如下:

  1. 创建一个 Document 对象的实例。
  2. 使用 Document.AddSection().AddParagraph() 方法向文档中添加一个段落。
  3. 使用 Paragraph.AppendHTML() 方法将 HTML 字符串附加到段落中。
  4. 使用 Document.SaveToFile(string filename, FileFormat.PDF) 方法将文档保存为 PDF 格式。

示例代码如下:

cs 复制代码
using Spire.Doc;
using Spire.Doc.Documents;

namespace ConvertHtmlStringToPdf
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 创建 Document 类的实例
            Document doc = new Document();
            // 向文档中添加一个段落
            Paragraph para = doc.AddSection().AddParagraph();
            // 指定 HTML 字符串
            string htmlString = @"<h1>这是标题</h1>
                                  <p>这是一个段落。</p>
                                  <ul>
                                    <li>项目 1</li>
                                    <li>项目 2</li>
                                    <li>项目 3</li>
                                  </ul>";

            // 将 HTML 字符串附加到段落
            para.AppendHTML(htmlString);

            // 将文档转换为 PDF 格式
            doc.SaveToFile("HtmlStringToPDF.pdf", FileFormat.PDF);
            // 关闭文档
            doc.Close();
        }
    }
}

在 C# 中将 HTML 转换为 XML

将 HTML 转换为 XML 可以实现数据提取、处理和与其他系统的集成。XML 是一种灵活且可扩展的标记语言,允许以结构化的方式表示数据。通过将 HTML 转换为 XML,您可以提取特定元素、以层级方式组织数据,并使用 XML 处理工具和技术进行数据分析或集成任务。

要将 HTML 文件转换为 XML 格式,您可以使用 Document.SaveToFile(string filename, FileFormat.Xml) 方法。具体步骤如下:

  1. 创建一个 Document 对象的实例。
  2. 使用 Document.LoadFromFile() 方法加载 HTML 文件。
  3. 使用 Document.SaveToFile(string filename, FileFormat.Xml) 方法将 HTML 文件保存为 XML 格式。

示例代码如下:

cs 复制代码
using Spire.Doc;
using Spire.Doc.Documents;

namespace ConvertHtmlToXml
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 创建 Document 类的实例
            Document doc = new Document();
            // 加载 HTML 文件
            doc.LoadFromFile("Sample.html", FileFormat.Html, XHTMLValidationType.None);

            // 将 HTML 文件转换为 XML 格式
            doc.SaveToFile("HtmlToXML.xml", FileFormat.Xml);
            // 关闭文档
            doc.Close();
        }
    }
}

申请临时许可证

如果您想从生成的文档中去除评估信息,或解除功能限制,请申请一个 30 天的试用许可证。

相关推荐
qq_422152572 小时前
PDF 转 Word 哪个工具好用?2026 年主流方案对比与选型指南
pdf·word
2601_961194024 小时前
27考研资料|免费全套|电子版
考研·百度·微信·pdf·微信公众平台·facebook·新浪微博
hashiqimiya7 小时前
每日android布局xml文件
android·xml·gitee
开开心心就好10 小时前
清理重复文件释放C盘空间的工具
安全·智能手机·pdf·gitlab·音视频·intellij idea·1024程序员节
2501_9307077811 小时前
使用C#代码在现有 PDF 文档中添加页眉
pdf
2601_9611940211 小时前
27考研资料|百度网盘|夸克网盘
android·xml·考研·ios·iphone·xcode·webview
Metaphor69211 小时前
使用 Python 旋转 PDF 页面
python·pdf
2601_9611940211 小时前
考研资料电子版|下载|pdf
java·python·考研·eclipse·django·pdf·pygame
hust_a11 小时前
做了一个类似MinerU的pdf解析网站
pdf
开开心心_Every1 天前
解决打印机共享难题的实用工具
linux·b树·安全·游戏·随机森林·pdf·计算机外设