将 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 文件可以从此链接下载或通过 安装。
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 天的临时许可证。