便携式文档格式 (PDF) 是由 Adobe 开发的一种流行且广泛使用的文档格式。 PDF 文档可以包含各种内容,包括格式化文本、图像、注释、表单字段等。以编程方式解析 PDF 文档是一种流行的用例,并且有多种提取文本的方法。然而,从 PDF 文档中提取图像是一项复杂的任务。本文演示了如何使用 C# 以编程方式轻松地从 PDF 文档中提取图像。
从 PDF 文件中提取图像的 .NET API
GroupDocs.Parser for .NET API 将在从 PDF 文件中提取图像方面发挥作用。除了 PDF,API 还支持从文字处理文档、电子表格、电子书、演示文稿、电子邮件、ZIP 存档和许多其他文档格式 中解析和提取图像。
您可以从 下载部分 下载 DLL 或 MSI 安装程序,或通过 NuGet 在您的 .NET 应用程序中安装 API。
PM> Install-Package GroupDocs.Parser
使用 C# 从 PDF 文档中提取图像的步骤
让我们快速逐步了解如何使用几行 C# 代码从 PDF 文件中获取图像。
- 创建一个新项目。
- 如上所述下载 API 或更新到最新的 API 版本。
- 添加以下命名空间:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
- 使用 Parser 类加载 PDF 文档。
// 创建 Parser 类的实例
using (Parser parser = new Parser("path/document.pdf"))
{
// 你的代码在这里。
}
- 使用 GetImages 方法从文档中提取图像。
// 提取图像
IEnumerable<PageImageArea> images = parser.GetImages();
// 检查是否支持图像提取
if (images == null)
{
Console.WriteLine("Images extraction isn't supported");
return;
}
- 访问集合中的每个图像并使用 Save 方法保存它。
// 迭代检索到的图像
foreach (PageImageArea image in images)
{
// 保存图片
image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
imageNumber++;
}
您可以将图像保存为各种不同的图像,如 JPG、PNG、BMP、WebP 或 GIF。
C#完整代码——从PDF中提取图像
这是完整的代码,可让您从 PDF 文件中获取所有图像。
// 使用C#从PDF中提取图像
using (Parser parser = new Parser("path/document.pdf"))
{
IEnumerable<PageImageArea> images = parser.GetImages();
// 检查是否支持图像提取
if (images == null)
{
Console.WriteLine("Images extraction isn't supported");
return;
}
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// 迭代检索到的图像
foreach (PageImageArea image in images)
{
// 保存图片
image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
imageNumber++;
}
}
结果
示例 PDF 文档
提取图像
如果您需要,还可以在另一篇文章中解释如何使用 C# 从 PDF 文档的任何特定页面中提取图像。
阅读更多
您可以使用其 文档 探索有关 .NET 数据提取 API 的更多信息。此外,您可以通过我们的 论坛 与我们分享您的疑问。