Portable Document Format (PDF) — это популярный и широко используемый формат документов, разработанный Adobe. PDF-документы могут содержать разнообразный контент, включая форматированный текст, изображения, аннотации, поля форм и т. д. Программный анализ PDF-документа является популярным вариантом использования, и существует несколько способов извлечения текста. Однако извлечение изображений из PDF-документа — сложная задача. В этой статье показано, как легко можно извлекать изображения из документов PDF программно на C# с помощью [GroupDocs.Parser for .NET](https://products.groupdocs. ком/парсер) API. Итак, начнем.
Действия по извлечению изображений из PDF-документа
1. Создайте новый проект.
2. Загрузите GroupDocs.Parser для .NET или установите его с помощью [NuGet](https://www.nuget.org/packages /Групповые Документы.Парсер).
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, см. в документации. Ваше здоровье!