Извлечь изображение из PDF в Java

При разборе PDF-файлов вам может понадобиться извлечь изображения вместе с текстом из документов. Чтобы выполнить эту операцию программно, в этой статье рассказывается, как извлекать изображения из документов PDF на Java. Пошаговое руководство, а также ссылки на API и пример кода демонстрируют полную процедуру извлечения изображения.

Java API для извлечения изображений из PDF — скачать бесплатно

Чтобы извлечь изображения из PDF, мы будем использовать Aspose.PDF для Java. Это мощный API-интерфейс для работы с PDF-файлами, который предоставляет широкий спектр функций для создания и обработки PDF-файлов. Вы можете либо скачать API, либо установить его, используя следующую конфигурацию Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>21.5</version>
</dependency>

Извлечение изображений из PDF в Java

Ниже приведены шаги для извлечения изображений из документа PDF с помощью Java.

  • Загрузите документ PDF с помощью класса Document.
  • Перебрать коллекцию страниц документа, возвращенного методом Document.getPages().
  • Для каждой страницы 5 выполните цикл по коллекции XImage, используя метод Page.getResources().getImages().
  • Создайте объект FileOutputStream для сохранения каждого изображения.

В следующем примере кода показано, как извлечь изображения из документа PDF.

// Загрузить PDF-документ
Document pdfDocument = new Document("ImagetoPDF.pdf");

// Пролистывать страницы
for (Page page : pdfDocument.getPages()) {

	int imageCounter = 1;

	// Перебирать изображения
	for (XImage xImage : page.getResources().getImages()) {
		try {
			
			// Создать файловый поток 
			java.io.FileOutputStream outputImage = new java.io.FileOutputStream(
					page.getNumber() + "_" + imageCounter + ".jpg");
			
			// Сохранить выходное изображение
			xImage.save(outputImage);
			
			// Закрыть поток
			outputImage.close();
		} catch (java.io.FileNotFoundException e) {
			// TODO: обработать исключение
			e.printStackTrace();
		} catch (java.io.IOException e) {
			// TODO: обработать исключение
			e.printStackTrace();
		}
		
		imageCounter++;
	}
	
	// Сбросить счетчик
	imageCounter=1;
}

Java PDF Image Extractor - Получите бесплатную лицензию

Вы можете использовать Aspose.PDF для Java без оценочных ограничений, используя временную лицензию.

Вывод

В различных случаях требуется извлечь изображения из PDF-документов. Для этого в этой статье вы узнали, как извлекать изображения из PDF-файлов на Java. Вы можете узнать больше о Java PDF API, используя документацию. Кроме того, вы можете оставлять свои вопросы на нашем форуме.

Смотрите также