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

相关推荐
蜡台5 小时前
uniapp pdf文件预览组件
pdf·uni-app·合同·pdfh5
Am-Chestnuts9 小时前
【无标题】
pdf
王莎莎-MinerU10 小时前
MCP 解决的是工具接入,科研 Agent 还缺的是科学证据接口标准化
开发语言·网络·人工智能·深度学习·pdf·c#·php
风起洛阳@不良使11 小时前
spring中xml和注解开发的对比
xml·java·spring
协享科技13 小时前
AI 读 PDF 的 2026 选型:ChatPDF、PDF.ai、通义智文之外,更要看证据链
人工智能·pdf
一棵星14 小时前
记一次 Word 转 PDF 功能故障排查与修复
pdf·word
Mikowoo0072 天前
批量汇总XML格式的发票信息
xml·python
逃逸线LOF2 天前
xml文件如何加载properties文件(spring容器加载properties文件)
xml
随手工具-Excel, pdf, SQL2 天前
PDF拆分怎么操作?免费在线拆分PDF文件,无需安装任何软件
pdf
正在走向自律3 天前
实战心得:利用PaddleOCR彻底解决大模型无法解析图片型PDF的问题
开发语言·pdf·视觉检测·paddleocr·视觉模型·离线ocr识别