便携式文档格式 (PDF) 是由 Adobe 开发的流行且广泛使用的文档格式。 PDF 文档可以包含各种内容,包括格式化文本、图像、注释、表单域等。以编程方式解析 PDF 文档是一种流行的用例,并且有多种提取文本的方法。但是,从 PDF 文档中提取图像是一项复杂的任务。本文演示了使用 [GroupDocs.Parser for .NET](https://products.groupdocs. com/解析器) API。那么让我们开始吧。
从 PDF 文档中提取图像的步骤
1. 创建一个新项目。
2. 下载 GroupDocs.Parser for .NET 或使用 NuGet 安装/GroupDocs.Parser)。
3. 添加以下命名空间。
using GroupDocs.Parser;
using GroupDocs.Parser.Data;
using System.Drawing;
using System.Drawing.Imaging;
4. 加载 PDF 文档。
// 创建 Parser 类的实例
using (Parser parser = new Parser("sample.pdf"))
{
// 你的代码在这里。
}
5. 从文档中提取图像。
// 提取图像
IEnumerable<PageImageArea> images = parser.GetImages();
// 检查是否支持图像提取
if (images == null)
{
Console.WriteLine("Images extraction isn't supported");
return;
}
6. 访问集合中的每个图像并保存。
// 迭代图像
foreach (PageImageArea image in images)
{
// 保存图像
Image.FromStream(image.GetImageStream()).Save(string.Format("{0}.Jpeg", counter++), ImageFormat.Jpeg);
}
完整代码
// 创建 Parser 类的实例
using (Parser parser = new Parser("C:\\candy.pdf"))
{
// 提取图像
IEnumerable<PageImageArea> images = parser.GetImages();
// 检查是否支持图像提取
if (images == null)
{
Console.WriteLine("Images extraction isn't supported");
return;
}
int counter = 1;
// 迭代图像
foreach (PageImageArea image in images)
{
// 保存每张图片
Image.FromStream(image.GetImageStream()).Save(string.Format("{0}.Jpeg", counter++), ImageFormat.Jpeg);
}
}
结果
PDF 文件

提取的图像

有关 GroupDocs.Parser 为 .NET API 提供的功能的完整列表,请访问 文档。干杯!