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

相关推荐
泡海椒7 小时前
jquick-pdf 表格实战:动态数据 PDF 报表生成
java·开发语言·pdf
泡海椒11 小时前
jquick-pdf 表格行列尺寸控制实战:单元格合并的可行边界
java·开发语言·pdf
java_logo1 天前
Docker 部署 Gotenberg 完整教程:Compose 搭建文档转 PDF API
docker·pdf·chromium·libreoffice·文档转换·轩辕镜像·gotenberg
泡海椒1 天前
jquick-pdf 防止 PDF 内容分页断裂:keepTogether 属性妙用
java·开发语言·pdf
泡海椒1 天前
jquick-pdf 文本元素实战:段落、行内文本、制表符用法详解
java·开发语言·pdf
SamChan902 天前
Python 处理小语种 PDF 的编码坑:重音字符、连字与 (cid:xx) 乱码的解决方案
python·ai·pdf·机器翻译
微咣科技2 天前
平台化工业AI再突破|大捷智能携手岚图汽车,打造车身焊装智能设计行业标杆
pdf·音视频
执明wa2 天前
Android RecyclerView 多类型, 多种 Item
android·xml·开发语言·设计模式·android studio
我滴老baby2 天前
工业物联网数据库选型:把计算能力放回第一维度
数据库·人工智能·架构·pdf
SamChan902 天前
多栏PDF阅读顺序重建:用Python按坐标聚类还原双栏论文的翻译顺序
python·ai·pdf