PDF, будучи одним із найпопулярніших форматів файлів, використовується майже кожною компанією та галуззю. PDF-документи можуть містити різноманітний вміст, включаючи форматований текст, зображення, анотації тощо. Часто потрібно витягти вміст із файлів PDF. У цій статті ми обговоримо, як програмно витягувати зображення з документів PDF у Java.
Java API для вилучення зображень із PDF-файлів
GroupDocs надає GroupDocs.Parser для розробників Java для вилучення зображень із файлів PDF. Разом із PDF-файлом той самий API підтримує синтаксичний аналіз, а також вилучення зображень із різних інших форматів документів, таких як текстові документи, електронні таблиці, електронні книги, презентації, електронні листи, ZIP-архіви та багато інших форматів документів .
Завантажити або налаштувати
Ви можете завантажити файл JAR із розділу завантажень або просто отримати репозиторій і конфігурації залежностей для pom.xml ваших програм Java на основі Maven.
<repository>
<id>groupdocs-artifacts-repository</id>
<name>GroupDocs Artifacts Repository</name>
<url>https://releases.groupdocs.com/java/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>22.11</version>
</dependency>
Кроки для вилучення зображень із документа PDF у Java
Нижче наведено покрокові вказівки, які показують, як отримати зображення з файлу PDF за допомогою кількох рядків коду Java.
- Створіть новий проект.
- Завантажте API, як зазначено вище, або оновіть до останньої версії API.
- Імпортуйте такі класи:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
- Завантажте PDF-документ за допомогою класу Parser.
// Завантажити файл PDF
try (Parser parser = new Parser("path/document.pdf")) {
// Тут міститься код вилучення зображення.
}
- Витягніть усі зображення з документа за допомогою методу getImages.
// Витягніть зображення із завантаженого файлу
Iterable<PageImageArea> images = parser.getImages();
- Отримайте доступ до кожного зображення з колекції та збережіть його за допомогою методу збереження.
// Збережіть файл із їхнім розширенням
for (PageImageArea image : images) {
image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}
Зображення можна зберігати в різних форматах зображень, наприклад PNG, JPG, BMP, WebP або GIF.
Повний код Java – витяг зображення з PDF
Ось повний вихідний код, який дозволяє отримати всі зображення з наданого файлу PDF.
// Витягніть зображення з PDF-файлу в Java
try (Parser parser = new Parser("path/document.pdf"))
{
// Отримати зображення
Iterable<PageImageArea> images = parser.getImages();
// Перевірте, чи підтримується вилучення зображень
if (images == null)
{
System.out.println("Images extraction isn't supported");
return;
}
int imageCounter = 0;
// Ітерація вилучених зображень
for (PageImageArea image : images)
{
image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}
}
Результати
Зразок PDF-документа
Витягнуті зображення
Якщо вам потрібно, в окремій статті також пояснюється, як ви можете витягнути зображення з будь-якої певної сторінки PDF-документа в Java.
Детальніше
Ви можете дізнатися більше про Java API вилучення даних, використовуючи його документацію. Ви можете поділитися своїми запитами з нами через наш форум.