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

相关推荐
名字还没想好☜16 分钟前
Java NIO ByteBuffer 实战:flip/clear/compact 三个绕晕人的方法与 position/limit 心智模型
java·开发语言·后端·spring·nio
世岩清上25 分钟前
展厅数字内容同质化严重,怎样打造专属叙事风格?
大数据·前端·javascript·人工智能·html·音视频·展厅改造
小溪学编程43 分钟前
AQS 原理详解:从 CLH 队列到 ReentrantLock 的实现
java·开发语言
持敬chijing1 小时前
Web前后端开发-JavaScript 入门教程
开发语言·前端·javascript
2601_966949651 小时前
从轮询到策略消费:量化系统如何高效处理五档盘口数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
我命由我123451 小时前
人脸识别 - 去重时间窗口
java·开发语言·python·学习·java-ee·学习方法·python3.11
落魄大学生之流水线上谋生计2 小时前
Java并发核心机制详解:线程池、CAS、AQS、锁升级
java·开发语言·数据库
hahaha60162 小时前
HLS高层次综合设计技巧--数组
开发语言·嵌入式硬件·算法·fpga开发
佳児素花痴╮2 小时前
Qt速通2
开发语言·qt
“AI国潮设计-小江”3 小时前
【Python/SDXL实战】潮汕国潮IP视觉落地:普宁英歌舞猫IP & 创意甜品设计(附ComfyUI工作流与商业授权说明)
开发语言·人工智能·python·prompt·aigc