使用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 天的试用许可证。

相关推荐
CHANG_THE_WORLD2 小时前
PDF交叉引用表解析:极致详解
服务器·网络·pdf
德育处主任Pro17 小时前
『NAS』在飞牛部署PDF全能工具-StirlingPDF
pdf·nas
其实秋天的枫19 小时前
【26大英赛】全国大学生英语竞赛C类历年真题及答案电子版PDF(2012-2025年)
经验分享·pdf
开开心心_Every20 小时前
免费轻量电子书阅读器,多系统记笔记听书
linux·运维·服务器·神经网络·安全·机器学习·pdf
优化控制仿真模型21 小时前
【26年四级最新】英语四级高频核心词汇1500+真题PDF电子版
经验分享·pdf
优化控制仿真模型1 天前
2026年新高考英语大纲词汇表3500个电子版PDF(含正序版、乱序版和默写版)
经验分享·pdf
sun03221 天前
使用Python把目录下的所有图片,合并成一个PDF
pdf
Ofm1z1Q9R2 天前
python-langchain框架(3-5-pdf文件load_and_split()加载 )
python·langchain·pdf
开开心心_Every2 天前
实用PDF擦除隐藏信息工具,空白处理需留意
运维·服务器·网络·pdf·电脑·excel·依赖倒置原则