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, как указано выше, или обновите его до последней версии.
- Импортируйте следующие классы:
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 для извлечения данных, используя документацию. Вы можете поделиться своими вопросами с нами через наш форум.