Edição de metadados EPUB usando Java

No último artigo, discutimos gerenciamento de metadados EPUB e Dublin Core usando C#. Hoje, aprenderemos como você pode ler, editar e atualizar programaticamente as propriedades de metadados do EPUB, incluindo o conjunto de propriedades Dublin Core, usando Java.

Um arquivo EPUB é um formato de livro digital que inclui texto, imagens e elementos interativos. É feito usando tecnologias comuns da web, como HTML e CSS.

Metadados EPUB significam informações importantes armazenadas em arquivos EPUB, como título, autor, editora e idioma. Esses dados auxiliam na organização adequada dos livros digitais.

Aqui estão os tópicos que abordaremos:

API Java para edição de metadados

GroupDocs.Metadata oferece uma Java API projetada para automatizar o gerenciamento de metadados para diferentes formatos de arquivo em aplicativos Java. Esta API permite ler, atualizar, adicionar, limpar e remover metadados de vários tipos de arquivos. Em nossa discussão de hoje, utilizaremos essa API para lidar com metadados de e-books no formato EPUB.

Você pode obter o arquivo JAR na seção de downloads ou incorporar o repositório mais recente e as configurações de dependência do Maven em seus aplicativos 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>

Modificando metadados EPUB com Java

Como desenvolvedor Java, se quiser modificar as propriedades de metadados do EPUB, siga estas etapas:

  1. Carregue o e-book EPUB usando a classe Metadata.
  2. Use o método getRootPackageGeneric para extrair o pacote raiz de metadados.
  3. Agora, você pode visualizar facilmente todas as propriedades de metadados do pacote EPUB usando o respectivo método getter.
  4. Atualize os valores das propriedades conforme necessário usando o respectivo método setter.
  5. Salve o arquivo do e-book com os valores de metadados atualizados usando o método save.

Abaixo estão trechos de código Java que ilustram as etapas para ler e atualizar propriedades de metadados EPUB:

Ler metadados EPUB

Para começar, veja como você pode ler os metadados do EPUB usando Java:

// Leia metadados EPUB usando 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);
}

Atualizar metadados EPUB

O código-fonte Java a seguir demonstra como buscar e atualizar as propriedades de metadados EPUB do arquivo EPUB:

// Atualizar metadados EPUB usando 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");
}

Modificando metadados EPUB Dublin Core com Java

Os metadados Dublin Core consistem em alguns itens que descrevem recursos físicos e digitais. Você pode modificar as propriedades de metadados Dublin Core usando código Java de maneira semelhante aos metadados EPUB.

Leia Dublin Core

As linhas de código a seguir demonstram como extrair itens de metadados Dublin Core para análise:

// Leia metadados Dublin Core usando 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());
}

Atualizar Dublin Core

Você pode alterar propriedades específicas do Dublin Core conforme necessário, conforme mostrado no código abaixo:

// Atualizar metadados Dublin Core usando 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");
}

Obtendo uma licença gratuita

Se quiser experimentar totalmente os recursos desta API, você pode obter uma licença temporária gratuita.

Conclusão

Neste artigo, analisamos a manipulação de metadados EPUB. Inicialmente, exploramos como ler e modificar propriedades de metadados EPUB programaticamente usando Java. Posteriormente, aplicamos as mesmas técnicas ao conjunto de itens Dublin Core em e-books.

Para obter informações detalhadas sobre a API, os leitores são incentivados a consultar:

Qualquer dúvida ou discussão adicional pode ser direcionada ao fórum fornecido.

Veja também