.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格式,提供步骤介绍及代码示例。

相关推荐
摸鱼也很难3 分钟前
php反序列化进阶 && CVE (__wakeup的绕过)&&属性类型特征 && 字符串的逃逸
开发语言·php·buuctf·php反序列化
神的孩子都在歌唱23 分钟前
你已经分清JAVA中JVM、JDK与JRE的作用和关系了吗?
java·开发语言·jvm
一只爱做笔记的码农1 小时前
【Blazor】Blazor学习笔记
笔记·学习·c#·asp.net
xing.yu.CTF1 小时前
PHP零基础入门笔记
开发语言·php
bugtraq20212 小时前
写了个小工具,绿色/C#/Url/Base64/Encode/Decode
c#
恸流失2 小时前
12.异常处理
开发语言·python
编程乐趣2 小时前
Eval-Expression.NET:动态执行C#脚本,类似Javascript的Eval函数功能
javascript·c#·.net
jie188945758662 小时前
c++ ---STL介绍
开发语言·c++
lly2024062 小时前
Bootstrap4 徽章(Badges)
开发语言
djk88882 小时前
js将object整个实体对象作为参数传递
开发语言·javascript·ecmascript