.NET框架用C#实现PDF转HTML

HTML作为一种开放标准的网页标记语言,具有跨平台、易于浏览和搜索引擎友好的特性,使得内容能够在多种设备上轻松访问并优化了在线分享与互动。通过将PDF文件转换为HTML格式 ,我们可以更方便地在浏览器中展示PDF文档内容,同时也更容易集成到更复杂的HTML页面中。使用C#在.NET框架下我们可以实现更快的转换过程,以及转换的自动化进行。本文将介绍如何在.NET框架使用C#将PDF文件转换为HTML格式。

文章目录

本文所使用的方法需要用到免费的Free Spire.PDF for .NET,NuGet:Install-Package FreeSpire.PDF。

文中所用的示例PDF文档:

用C#直接转换PDF文件为HTML格式

我们可以使用PdfDocument.LoadFromFile()方法从文件载入PDF文档,然后再使用PdfDocument.SaveToFile(string: fileName, FileFormat.HTML)方法将PDF文档直接转换为HTML文件并保存。以下是操作步骤示例:

  1. 导入所需模块。
  2. 创建PdfDocument实例,并使用PdfDocument.LoadFromFile()方法从文件载入PDF文档。
  3. 使用PdfDocument.SaveToFile(string: fileName, FileFormat.HTML)方法将PDF文档直接转换为HTML格式并保存到文件。
  4. 释放资源。

代码示例

csharp 复制代码
using Spire.Pdf;

namespace PDFToHTML
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建PdfDocument实例
            PdfDocument pdf = new PdfDocument();

            // 载入PDF文件
            pdf.LoadFromFile("Sample.pdf");

            // 将PDF转换为HTML并保存
            pdf.SaveToFile("output/PDFToHTML.html", FileFormat.HTML);

            // 释放资源
            pdf.Dispose();
        }
    }
}

运行结果

转换PDF到HTML时自定义转换选项

在载入 PDF 文档后,可以通过访问文档的PdfDocument.ConvertOptions属性获取PdfConvertOptions实例。随后,可调用PdfConvertOptions.SetPdfToHtmlOptions()方法设置转换选项。该方法接受以下四个参数:

  • bool: 是否将 SVG 嵌入到 HTML 中;
  • bool: 是否将图像嵌入到 HTML 中;
  • int: 单文件最大页数;
  • bool: 是否使用高质量嵌入 SVG。
    以下是具体操作步骤的示例:
  1. 导入所需模块。
  2. 创建PdfDocument实例,并使用PdfDocument.LoadFromFile()方法从文件载入PDF文档。
  3. 访问文档的PdfDocument.ConvertOptions属性获取PdfConvertOptions实例。
  4. 调用PdfConvertOptions.SetPdfToHtmlOptions()方法设置转换选项。
  5. 使用PdfDocument.SaveToFile(string: fileName, FileFormat.HTML)方法将PDF文档转换为HTML格式并保存到文件。
  6. 释放资源。

代码示例

csharp 复制代码
using Spire.Pdf;

namespace PDFToHTML
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建PdfDocument实例
            PdfDocument pdf = new PdfDocument();

            // 载入PDF文件
            pdf.LoadFromFile("Sample.pdf");

            // 访问ConvertOptions属性
            PdfConvertOptions toHtmlOptions = pdf.ConvertOptions;

            // 设置转换HTML选项
            toHtmlOptions.SetPdfToHtmlOptions(false, true, 5, false);

            // 将PDF转换为HTML并保存
            pdf.SaveToFile("output/PDFToHTML.html", FileFormat.HTML);

            // 释放资源
            pdf.Dispose();
        }
    }
}

运行结果

在字节流中实现PDF到HTML的转换

除了从磁盘载入PDF文件转换为HTML格式外,我们还可以使用PdfDocument.LoadFromStream()方法直接载入流中的PDF文档,然后使用PdfDocument.SaveToStream(Stream: stream, FileFormat.HTML)将PDF文档转换为HTML文件流。以下是操作步骤示例:

  1. 导入所需模块。
  2. 创建MemoryStream实例或使用现有实例。
  3. 创建PdfDocument实例,使用PdfDocument.LoadFromStream()从流载入PDF文档。
  4. 使用PdfDocument.SaveToStream(Stream: stream, FileFormat.HTML)将PDF文档转换为HTML文件流。
  5. 将流写入文件或根据需要进行其他操作。
  6. 释放资源。

代码示例

csharp 复制代码
using Spire.Pdf;

namespace PDFToHTML
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建Stream实例或使用现有实例
            MemoryStream stream = new MemoryStream();
            File.OpenRead("Sample.pdf").CopyTo(stream);

            // 创建PdfDocument实例
            PdfDocument pdf = new PdfDocument();

            // 从流中载入PDF文件
            pdf.LoadFromStream(stream);

            // 将PDF转换为HTML并保存到流
            pdf.SaveToStream(stream, FileFormat.HTML);
            
            
            // 将流写入文件或根据需要进行其他操作
            File.WriteAllBytes("output/PDFToHTMLStream.html", stream.ToArray());

            // 释放资源
            pdf.Dispose();
        }
    }
}

运行结果

本文介绍如何在.NET框架使用C#将PDF转换为HTML格式,提供步骤介绍及代码示例。

相关推荐
泡海椒11 分钟前
JQuick-Excel dateFormat 转换实战:日期值与 FORMAT 显示格式的边界
开发语言·python·excel
白杨尚青26 分钟前
C++入门篇(十三):vector(上)——动态数组:构造、空间增长与迭代器失效
开发语言·c++·笔记·算法·stl
江江爱编程32 分钟前
java零基础保姆级教学01
java·开发语言
沐晓时光1 小时前
C语言入门,深入理解指针(2)
c语言·开发语言
2601_962885721 小时前
如何用 Python 做均线粘合选股?(多头发散前的变盘候选)
开发语言·python
2601_962071571 小时前
类变量和全局变量的隔离性有什么区别?
java·开发语言·jvm
海绵宝宝转agent1 小时前
LeetCode100 LRU缓存思路讲解
java·开发语言·缓存
AC赳赳老秦2 小时前
OpenClaw 与 FineBI 联动方案:公开数据自动采集与实时业务分析看板实践
大数据·开发语言·python·php·finebi·deepseek·openclaw
通信瓦工2 小时前
OCP 冷却环境与冷却剂分配单元(CDU)子项目
java·开发语言
坤坤子吖2 小时前
Python基础语法学习:函数
开发语言·笔记·python·学习