Portable Document Format (PDF) — популярний і широко використовуваний формат документів, розроблений Adobe. PDF-документи можуть містити різноманітний вміст, зокрема відформатований текст, зображення, анотації, поля форми тощо. Програмний аналіз PDF-документів є популярним випадком використання, і існує кілька способів вилучення тексту. Однак вилучення зображень із документа PDF є складним завданням. Ця стаття демонструє, як легко програмно витягувати зображення з PDF-документів на C#.
.NET API для вилучення зображень із PDF-файлів
GroupDocs.Parser for .NET API зіграє свою роль у вилученні зображень із файлів PDF. Крім PDF, API підтримує розбір і вилучення зображень із текстових документів, електронних таблиць, електронних книг, презентацій, електронних листів, ZIP-архівів і багатьох інших форматів документів.
Ви можете завантажити DLL або інсталятор MSI із розділу завантажень або встановити API у своїй програмі .NET за допомогою NuGet.
PM> Install-Package GroupDocs.Parser
Кроки для вилучення зображень із документа PDF за допомогою C#
Давайте швидко крок за кроком розглянемо, як отримати зображення з файлу PDF за допомогою кількох рядків коду C#.
- Створіть новий проект.
- Завантажте API, як зазначено вище, або оновіть до останньої версії API.
- Додайте такі простори імен:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
- Завантажте PDF-документ за допомогою класу Parser.
// Створіть екземпляр класу 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;
}
- Отримайте доступ до кожного зображення з колекції та збережіть його за допомогою методу збереження.
// Перегляд отриманих зображень
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.
// Витягніть зображення з PDF за допомогою C#
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-документа

Витягнуті зображення

Якщо вам потрібно, в окремій статті також пояснюється, як ви можете витягти зображення з будь-якої певної сторінки документа PDF за допомогою C#.
Детальніше
Ви можете дізнатися більше про API вилучення даних .NET, використовуючи його документацію. Крім того, ви можете поділитися своїми запитами з нами через наш форум.