Редактирование метаданных EPUB с использованием Java

В последней статье мы обсуждали управление метаданными EPUB и Dublin Core с помощью C#. Сегодня мы узнаем, как программно читать, редактировать и обновлять свойства метаданных EPUB, включая набор свойств Dublin Core, с помощью Java.

Файл EPUB — это формат цифровой книги, включающий текст, изображения и интерактивные элементы. Он создан с использованием распространенных веб-технологий, таких как HTML и CSS.

Метаданные EPUB означают важную информацию, хранящуюся в файлах EPUB, такую как название, автор, издатель и язык. Эти данные помогают правильно организовать цифровые книги.

Вот темы, которые мы рассмотрим:

Java API для редактирования метаданных

GroupDocs.Metadata предлагает Java API, предназначенный для автоматизации управления метаданными для различных форматов файлов в приложениях Java. Этот API позволяет читать, обновлять, добавлять, очищать и удалять метаданные из файлов различных типов. В нашем сегодняшнем обсуждении мы будем использовать этот API для обработки метаданных электронных книг в формате EPUB.

Вы можете получить файл JAR из раздела загрузок или включить новейшие конфигурации репозитория и зависимостей Maven в свои приложения Java.

<repository>
    <id>GroupDocsJavaAPI</id>
    <name>GroupDocs Java API</name>
    <url>https://releases.groupdocs.com/java/repo/</url>
</repository>

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-metadata</artifactId>
    <version>23.10</version>
</dependency>

Изменение метаданных EPUB с помощью Java

Как разработчик Java, если вы хотите изменить свойства метаданных EPUB, выполните следующие действия:

  1. Загрузите электронную книгу EPUB, используя класс Метаданные.
  2. Используйте метод getRootPackageGeneric для извлечения корневого пакета метаданных.
  3. Теперь вы можете легко просмотреть все свойства метаданных пакета EPUB, используя соответствующий метод получения.
  4. При необходимости обновите значения свойств, используя соответствующий метод установки.
  5. Сохраните файл электронной книги с обновленными значениями метаданных, используя метод save.

Ниже приведены фрагменты кода Java, иллюстрирующие шаги по чтению и обновлению свойств метаданных EPUB:

Чтение метаданных EPUB

Начнем с того, как можно прочитать метаданные EPUB с помощью Java:

// Чтение метаданных EPUB с помощью Java
try (Metadata metadata = new Metadata("path/ebook.epub")) {
    EpubRootPackage root = metadata.getRootPackageGeneric();

    System.out.println(root.getEpubPackage().getVersion());
    System.out.println(root.getEpubPackage().getUniqueIdentifier());
    System.out.println(root.getEpubPackage().getImageCover() != null ? root.getEpubPackage().getImageCover().length : 0);
}

Обновить метаданные EPUB

Следующий исходный код Java демонстрирует, как получить и обновить свойства метаданных EPUB файла EPUB:

// Обновите метаданные EPUB с помощью Java
try (Metadata metadata = new Metadata("path/ebook.epub")) {
    EpubRootPackage root = metadata.getRootPackageGeneric();

    root.getEpubPackage().setCreator("GroupDocs");
    root.getEpubPackage().setDescription("test e-book");
    root.getEpubPackage().setFormat("EPUB");
    root.getEpubPackage().setDate(new Date().toString());

    metadata.save("path/ebook.epub");
}

Изменение метаданных EPUB Dublin Core с помощью Java

Метаданные Dublin Core состоят из нескольких элементов, описывающих как физические, так и цифровые ресурсы. Вы можете изменить свойства метаданных Dublin Core с помощью кода Java аналогично метаданным EPUB.

Читать Дублинское ядро

Следующие строки кода демонстрируют, как извлечь элементы метаданных Dublin Core для анализа:

// Чтение метаданных Dublin Core с помощью Java
try (Metadata metadata = new Metadata("path/ebook.epub")) {
    EpubRootPackage root = metadata.getRootPackageGeneric();

    System.out.println(root.getDublinCorePackage().getRights());
    System.out.println(root.getDublinCorePackage().getPublisher());
    System.out.println(root.getDublinCorePackage().getTitle());
    System.out.println(root.getDublinCorePackage().getCreator());
    System.out.println(root.getDublinCorePackage().getLanguage());
    System.out.println(root.getDublinCorePackage().getDate());
}

Обновление Дублинского ядра

При необходимости вы можете изменить определенные свойства Dublin Core, как показано в коде ниже:

// Обновите метаданные Dublin Core с помощью Java
try (Metadata metadata = new Metadata("path/ebook.epub")) {
    EpubRootPackage root = metadata.getRootPackageGeneric();

    root.getDublinCorePackage().setProperties(new WithNameSpecification("dc:creator"), new PropertyValue("GroupDocs"));
    root.getDublinCorePackage().setProperties(new WithNameSpecification("dc:description"), new PropertyValue("test e-book"));
    root.getDublinCorePackage().setProperties(new WithNameSpecification("dc:title"), new PropertyValue("test EPUB"));
    root.getDublinCorePackage().setProperties(new WithNameSpecification("dc:date"), new PropertyValue(new Date().toString()));

    metadata.save("path/ebook.epub");
}

Получение бесплатной лицензии

Если вы хотите в полной мере ощутить возможности этого API, вы можете получить временную лицензию бесплатно.

Заключение

В этой статье мы рассмотрели манипулирование метаданными EPUB. Первоначально мы изучали, как программно читать и изменять свойства метаданных EPUB с помощью Java. Позже мы применили те же методы к набору элементов Dublin Core в электронных книгах.

Для получения подробной информации об API читателям рекомендуется обратиться к:

Любые вопросы или дальнейшие обсуждения можно направить на соответствующий форум.

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