Електронні книги різних форматів дуже поширені в повсякденному використанні. Електронна книга може містити як текст, так і зображення. Якщо ви хочете використати зображення будь-якої електронної книги в іншому місці, ви можете легко отримати їх програмним шляхом у своїй програмі Java. У цій статті ви дізнаєтесь, як автоматизувати видобування зображень із файлів електронних книг, таких як EPUB, PDF, FB2, CHM, у Java.

Нижче будуть розглянуті такі теми:

Java API для вилучення зображень з електронних книг

GroupDocs.Parser for Java API — це багатофункціональний API автоматизації для вилучення зображень із електронних книг і документів на Java. На додаток до цього, API підтримує розбір і вилучення зображень, тексту та метаданих із текстових документів, електронних таблиць, PDF, презентацій, електронних листів, ZIP-архівів і багатьох інших підтримуваних форматів документів.

Завантажте та налаштуйте

Отримайте файл JAR із розділу завантаження або просто додайте наведену нижче конфігурацію pom.xml у своїх програмах Java на основі Maven, щоб спробувати наведені нижче приклади. Щоб отримати докладніші відомості, ви можете відвідати Довідник API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
	<groupId>com.groupdocs</groupId>
	<artifactId>groupdocs-parser</artifactId>
	<version>21.2</version> 
</dependency>

Витягніть зображення з електронної книги EPUB на Java

Почнемо з електронної книги EPUB, щоб розібрати її на наявність зображень. Наступні кроки аналізують електронну книгу EPUB і витягують із неї всі зображення за допомогою коду Java.

  • Створіть об’єкт класу Parser з електронною книгою.
  • Використовуйте метод getImages, щоб видобути всі зображення електронної книги EPUB.
  • Перегляньте витягнуті зображення та збережіть їх на диск.
Електронна книга EPUB із зображеннями

Електронна книга EPUB із Adobe [Бібліотека зразків електронних книг][11]

Наступний код Java аналізує електронну книгу EPUB і зберігає зображення електронної книги одне за одним на диск.

// Розбирайте електронні книги, щоб видобувати зображення з файлів PDF, EPUB, FB2, CHM у Java та зберігати їх на диску.
Parser parser = new Parser("ebook.epub");
// Витягніть зображення з електронної книги та збережіть їх у форматі JPEG.
Iterable<PageImageArea> images = parser.getImages();
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// Переглядайте витягнуті зображення
for (PageImageArea image : images) {
    image.save(Constants.getOutputFilePath(String.format("%d.jpeg", imageNumber)), options);
    imageNumber++;
}
Витягнуте зображення з електронної книги EPUB

У результаті всі зображення будуть збережені у вказаному місці. Ось одне із зображень, наведених як зразок.

Зображення можна зберігати в будь-якому з наступних форматів файлів зображень:

  • JPG
  • PNG
  • WEBP
  • GIF
  • БМП

Витягуйте зображення з електронних книг PDF, FB2, CHM на Java

На додаток до формату EPUB, якщо у вас є ваша електронна книга у PDF, FB2, CHM або в якомусь іншому форматі, ви можете витягти їхні зображення таким же чином. Просто передайте свою електронну книгу конструктору Parser під час створення об’єкта. Після цього метод getImages видобуватиме зображення з наданих вами електронних книг за допомогою того самого коду Java.

// Provide different eBook formats to the Parser constructor to extract the images.
// Parser parser = new Parser("ebook.epub");
Parser parser = new Parser("ebook.pdf");
// Parser parser = new Parser("ebook.fb2");
// Parser parser = new Parser("ebook.chm");

Iterable<PageImageArea> images = parser.getImages();

Висновок

У цій статті ви навчилися програмно отримувати всі зображення з електронних книг PDF, EPUB, FB2, CHM у своїх програмах Java. Тепер ви можете спробувати створити власну програму Java для екстрактора зображень за допомогою API GroupDocs.Parser for Java.

Щоб дізнатися більше про API, відвідайте документацію або приклади з відкритим кодом на GitHub. З будь-яких додаткових питань ви можете зв’язатися зі службою швидкої підтримки на форумі.

Дивись також