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

相关推荐
xiaolinudao1236 小时前
给pdf文件盖骑缝章的软件有哪些
pdf
hu556679810 小时前
如何使用Adobe Acrobat Pro DC将1页PDF切割为2页,A3变A4打印。
pdf
ComPDFKit11 小时前
PDF转Word后,每行都成一段?先分清断段、文本框和扫描页
pdf·word
Nymph_Zhu16 小时前
pdf转换markdown预览及内容互相点击定位
前端·pdf·vue3·markdown·element-plus
web打印社区16 小时前
Lodop在Edge和双核浏览器-先分清内核
前端·javascript·edge·pdf·ecmascript·html5
是店小二呀17 小时前
敏感PDF不想上传陌生网站?我把Stirling-PDF装进NAS自己处理
pdf
liuchangng17 小时前
React 19 + Vite 6 实战:从教材 PDF 到 866 词间隔重复单词 App
前端·react.js·pdf·vite·开源项目
指针向南2 天前
PDF 转 HTML 免费5种方法,体积0.5%到368%
图像处理·人工智能·计算机视觉·pdf
SEO_juper2 天前
Go 站点地图生成器:从首页爬全站,一键生成 sitemap.xml
xml·开发语言·人工智能·golang·node.js·seo·外贸独立站
工具派2 天前
PDF签名贴上去为什么发虚?尺寸、DPI与坐标的边界实测
java·python·pdf