Редагування метаданих EPUB за допомогою Java

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

Файл EPUB — це формат цифрової книги, який містить текст, зображення та інтерактивні елементи. Його створено за допомогою поширених веб-технологій, таких як HTML і CSS.

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

Ось теми, які ми будемо розглядати:

Java API для редагування метаданих

GroupDocs.Metadata пропонує API Java, призначений для автоматизації керування метаданими для різних форматів файлів у програмах 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 за допомогою класу Metadata.
  2. Використовуйте метод getRootPackageGeneric, щоб витягнути кореневий пакет метаданих.
  3. Тепер ви можете легко переглядати всі властивості метаданих пакета EPUB за допомогою відповідного методу отримання.
  4. За потреби оновіть значення властивості за допомогою відповідного методу налаштування.
  5. Збережіть файл електронної книги з оновленими значеннями метаданих за допомогою методу збереження.

Нижче наведено фрагменти коду 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 для аналізу:

// Читайте метадані 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, як показано в коді нижче:

// Оновіть метадані 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. Пізніше ми застосували ті самі методи до набору елементів Дублінського ядра в електронних книгах.

Для отримання детальної інформації про API читачам пропонується звернутися до:

Будь-які запитання чи подальші обговорення можна направляти на наданий форум.

Дивись також