将 PDF 文档转换为更灵活、更易编辑的格式,如 Markdown,已成为开发人员和内容创作者的常见需求。这样的转换不仅有助于更轻松地进行文档编辑和版本控制,还能增强内容在不同平台和应用程序之间的可移植性,特别适合网络发布及分享。通过使用 Spire.PDF for .NET,开发人员可以自动化这一转换过程,同时确保在生成的 Markdown 文件中保留原始 PDF 的丰富格式和结构。
本文将演示如何使用 Spire.PDF for .NET 通过 C# 代码将 PDF 文档转换为 Markdown 格式。
安装 Spire.PDF for .NET
首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.PDF
将 PDF 文档转换为 Markdown 文件
借助 Spire.PDF for .NET,开发者可以用 PdfDocument.LoadFromFile(string filename) 方法从文件载入 PDF 文档,然后用 PdfDocument.SaveToFile(string filename, FileFormat fileFormat) 方法将其转换为想要的格式并保存。在转换 PDF 文档为 Markdown 文件时,只需要在调用保存方法时将 FileFormat.Markdown 枚举类作为参数即可。
以下是详细操作步骤:
- 创建 PdfDocument 类的实例。
- 使用 PdfDocument.SaveToFile(string filename, FileFormat fileFormat) 方法载入 PDF 文档。
- 使用 PdfDocument.SaveToFile(string filename, FileFormat.Markdown) 将文档转换为 Markdown 格式并保存。
- C#
using Spire.Pdf;
namespace PDFToMarkdown
{
class Program
{
static void Main(string[] args)
{
// 创建PdfDocument类的实例
PdfDocument pdf = new PdfDocument();
// 加载PDF文档
pdf.LoadFromFile("示例.pdf");
// 将文档转换为Markdown文件
pdf.SaveToFile("output/PDF转Markdown.md", FileFormat.Markdown);
// 释放资源
pdf.Close();
}
}
}
原 PDF 文档:
转换出的 Markdown 文件:
通过流将 PDF 转换为 Markdown
除了直接读取文件进行操作外,Spire.PDF for .NET 还支持使用 PdfDocument.LoadFromStream() 方法从流中加载 PDF 文档,然后使用 PdfDocument.SaveToStream() 方法将其转换为 Markdown 文件流。使用流可以减少内存使用量,支持大文件处理,实现实时数据传输,同时还能简化与其他系统的数据交换。
通过流将 PDF 文档转换为 Markdown 文件的详细步骤如下:
- 通过从网络下载或读取文件数据,创建包含 PDF 文档的 Stream 对象。
- 使用 PdfDocument.LoadFromStream(Stream stream) 方法从流中加载 PDF 文档。
- 创建另一个 Stream 对象用于存储转换后的 Markdown 文件。
- 使用 PdfDocument.SaveToStream(Stream stream, FileFormat.Markdown) 方法将 PDF 文档转换为 Markdown 文件流。
- C#
using Spire.Pdf;
using System.IO;
using System.Net.Http;
namespace PDFToMarkdownByStream
{
class Program
{
static async Task Main(string[] args)
{
// 创建 PdfDocument 类的实例
PdfDocument pdf = new PdfDocument();
// 从 URL 下载 PDF 文档作为字节数组
using (HttpClient client = new HttpClient())
{
byte[] pdfBytes = await client.GetByteArrayAsync("http://example.com/Sample.pdf");
// 使用字节数组创建 MemoryStream
using (MemoryStream inputStream = new MemoryStream(pdfBytes))
{
// 从流中加载 PDF 文档
pdf.LoadFromStream(inputStream);
// 创建另一个 MemoryStream 对象来存储 Markdown 文件
using (MemoryStream outputStream = new MemoryStream())
{
// 将 PDF 文档转换为 Markdown 文件流
pdf.SaveToStream(outputStream, FileFormat.Markdown);
outputStream.Position = 0; // 重置流的位置以便后续读取
// 上传结果流或将其写入文件
await client.PostAsync("http://example.com/upload", new StreamContent(outputStream));
File.WriteAllBytes("output.md", outputStream.ToArray());
}
}
}
// 释放资源
pdf.Close();
}
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。