HTML作为一种开放标准的网页标记语言,具有跨平台、易于浏览和搜索引擎友好的特性,使得内容能够在多种设备上轻松访问并优化了在线分享与互动。通过将PDF文件转换为HTML格式,我们可以更方便地在浏览器中展示PDF文档内容,同时也更容易集成到更复杂的HTML页面中。使用C#在.NET框架下我们可以实现更快的转换过程,以及转换的自动化进行。本文将介绍如何在.NET框架使用C#将PDF文件转换为HTML格式。
文章目录
- 用C#直接转换PDF文件为HTML格式
- 转换PDF到HTML时自定义转换选项
- 在字节流中实现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文件并保存。以下是操作步骤示例:
- 导入所需模块。
- 创建
PdfDocument
实例,并使用PdfDocument.LoadFromFile()
方法从文件载入PDF文档。 - 使用
PdfDocument.SaveToFile(string: fileName, FileFormat.HTML)
方法将PDF文档直接转换为HTML格式并保存到文件。 - 释放资源。
代码示例
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。
以下是具体操作步骤的示例:
- 导入所需模块。
- 创建
PdfDocument
实例,并使用PdfDocument.LoadFromFile()
方法从文件载入PDF文档。 - 访问文档的
PdfDocument.ConvertOptions
属性获取PdfConvertOptions
实例。 - 调用
PdfConvertOptions.SetPdfToHtmlOptions()
方法设置转换选项。 - 使用
PdfDocument.SaveToFile(string: fileName, FileFormat.HTML)
方法将PDF文档转换为HTML格式并保存到文件。 - 释放资源。
代码示例
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文件流。以下是操作步骤示例:
- 导入所需模块。
- 创建
MemoryStream
实例或使用现有实例。 - 创建
PdfDocument
实例,使用PdfDocument.LoadFromStream()
从流载入PDF文档。 - 使用
PdfDocument.SaveToStream(Stream: stream, FileFormat.HTML)
将PDF文档转换为HTML文件流。 - 将流写入文件或根据需要进行其他操作。
- 释放资源。
代码示例
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格式,提供步骤介绍及代码示例。