Edycja metadanych EPUB przy użyciu języka Java

W ostatnim artykule omówiliśmy zarządzanie metadanymi EPUB i Dublin Core przy użyciu C#. Dzisiaj dowiemy się, jak programowo czytać, edytować i aktualizować właściwości metadanych EPUB, w tym zestaw właściwości Dublin Core, przy użyciu języka Java.

Plik EPUB to cyfrowy format książki zawierający tekst, obrazy i elementy interaktywne. Jest wykonany przy użyciu popularnych technologii internetowych, takich jak HTML i CSS.

Metadane EPUB oznaczają ważne informacje przechowywane w plikach EPUB, takie jak tytuł, autor, wydawca i język. Dane te pomagają w prawidłowym organizowaniu książek cyfrowych.

Oto tematy, które omówimy:

API Java do edycji metadanych

GroupDocs.Metadata oferuje Java API zaprojektowane w celu automatyzacji zarządzania metadanymi dla różnych formatów plików w aplikacjach Java. Ten interfejs API umożliwia odczytywanie, aktualizowanie, dodawanie, czyszczenie i usuwanie metadanych z różnych typów plików. W naszej dzisiejszej dyskusji wykorzystamy to API do obsługi metadanych e-Booków w formacie EPUB.

Możesz uzyskać plik JAR z sekcji pobierania lub włączyć najnowsze konfiguracje repozytorium i zależności Maven do swoich aplikacji 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>

Modyfikowanie metadanych EPUB za pomocą Java

Jeśli jako programista Java chcesz zmodyfikować właściwości metadanych EPUB, wykonaj następujące kroki:

  1. Załaduj eBook EPUB, korzystając z klasy Metadata.
  2. Użyj metody getRootPackageGeneric, aby wyodrębnić główny pakiet metadanych.
  3. Teraz możesz łatwo przeglądać wszystkie właściwości metadanych pakietu EPUB, korzystając z odpowiedniej metody pobierającej.
  4. W razie potrzeby zaktualizuj wartości właściwości, używając odpowiedniej metody ustawiającej.
  5. Zapisz plik eBooka ze zaktualizowanymi wartościami metadanych, korzystając z metody zapisu.

Poniżej znajdują się fragmenty kodu Java ilustrujące kroki odczytywania i aktualizowania właściwości metadanych EPUB:

Przeczytaj metadane EPUB

Na początek oto sposób odczytywania metadanych EPUB przy użyciu języka Java:

// Czytaj metadane EPUB przy użyciu języka 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);
}

Zaktualizuj metadane EPUB

Poniższy kod źródłowy Java ilustruje sposób pobierania i aktualizowania właściwości metadanych EPUB pliku EPUB:

// Zaktualizuj metadane EPUB przy użyciu języka 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");
}

Modyfikowanie metadanych EPUB Dublin Core za pomocą języka Java

Metadane Dublin Core składają się z kilku elementów opisujących zarówno zasoby fizyczne, jak i cyfrowe. Właściwości metadanych Dublin Core można modyfikować przy użyciu kodu Java w sposób podobny do metadanych EPUB.

Przeczytaj Dublin Core

Poniższe wiersze kodu pokazują, jak wyodrębnić elementy metadanych Dublin Core do analizy:

// Odczyt metadanych Dublin Core przy użyciu języka 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());
}

Zaktualizuj Dublin Core

W razie potrzeby możesz zmienić określone właściwości Dublin Core, jak pokazano w poniższym kodzie:

// Zaktualizuj metadane Dublin Core przy użyciu języka 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");
}

Uzyskanie bezpłatnej licencji

Jeśli chcesz w pełni poznać możliwości tego API, możesz uzyskać licencję tymczasową za darmo.

Wniosek

W tym artykule przyjrzeliśmy się manipulacji metadanymi EPUB. Początkowo badaliśmy, jak programowo czytać i modyfikować właściwości metadanych EPUB przy użyciu języka Java. Później zastosowaliśmy te same techniki do zestawu elementów Dublin Core w e-bookach.

Aby uzyskać szczegółowe informacje o interfejsie API, zachęcamy czytelników do zapoznania się z:

Wszelkie pytania lub dalsze dyskusje można kierować na udostępnione forum.

Zobacz też