Edición de metadatos EPUB usando Java

En el último artículo, analizamos la gestión de metadatos EPUB y Dublin Core usando C#. Hoy, aprenderemos cómo leer, editar y actualizar mediante programación las propiedades de metadatos de EPUB, incluido el conjunto de propiedades Dublin Core, utilizando Java.

Un archivo EPUB es un formato de libro digital que incluye texto, imágenes y elementos interactivos. Está creado utilizando tecnologías web comunes como HTML y CSS.

Metadatos EPUB significa información importante almacenada dentro de archivos EPUB, como el título, el autor, el editor y el idioma. Estos datos ayudan a organizar adecuadamente los libros digitales.

Estos son los temas que cubriremos:

API de Java para editar metadatos

GroupDocs.Metadata ofrece una API de Java diseñada para automatizar la gestión de metadatos para diferentes formatos de archivos en aplicaciones Java. Esta API permite leer, actualizar, agregar, limpiar y eliminar metadatos de varios tipos de archivos. En nuestra discusión de hoy, utilizaremos esta API para manejar los metadatos de libros electrónicos en formato EPUB.

Puede obtener el archivo JAR en la sección de descargas o incorporar las últimas configuraciones de repositorio y dependencia de Maven en sus aplicaciones 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>

Modificación de metadatos EPUB con Java

Como desarrollador de Java, si desea modificar las propiedades de los metadatos de EPUB, siga estos pasos:

  1. Cargue el libro electrónico EPUB usando la clase Metadatos.
  2. Utilice el método getRootPackageGeneric para extraer el paquete raíz de metadatos.
  3. Ahora, puede ver fácilmente todas las propiedades de metadatos del paquete EPUB utilizando el método getter respectivo.
  4. Actualice los valores de propiedad según sea necesario utilizando el método de establecimiento respectivo.
  5. Guarde el archivo del libro electrónico con los valores de metadatos actualizados utilizando el método de guardar.

A continuación se muestran fragmentos de código Java que ilustran los pasos para leer y actualizar las propiedades de metadatos de EPUB:

Leer metadatos EPUB

Para empezar, así es como puedes leer los metadatos EPUB usando Java:

// Leer metadatos 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);
}

Actualizar metadatos EPUB

El siguiente código fuente de Java demuestra cómo recuperar y actualizar las propiedades de metadatos EPUB del archivo EPUB:

// Actualizar metadatos 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");
}

Modificación de metadatos de EPUB Dublin Core con Java

Los metadatos Dublin Core constan de unos pocos elementos que describen recursos tanto físicos como digitales. Puede modificar las propiedades de los metadatos de Dublin Core utilizando código Java de forma similar a los metadatos EPUB.

Leer Dublin Core

Las siguientes líneas de código demuestran cómo extraer elementos de metadatos de Dublin Core para su análisis:

// Leer metadatos de 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());
}

Actualizar Dublin Core

Puede cambiar propiedades específicas de Dublin Core según sea necesario, como se muestra en el siguiente código:

// Actualizar los metadatos de 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");
}

Obtener una licencia gratuita

Si desea experimentar plenamente las capacidades de esta API, puede obtener una licencia temporal gratuita.

Conclusión

En este artículo, analizamos la manipulación de metadatos EPUB. Inicialmente, exploramos cómo leer y modificar las propiedades de los metadatos de EPUB mediante programación utilizando Java. Posteriormente, aplicamos las mismas técnicas al conjunto de elementos Dublin Core dentro de los libros electrónicos.

Para obtener información detallada sobre la API, se recomienda a los lectores que consulten:

Cualquier pregunta o discusión adicional puede dirigirse al foro proporcionado.

Ver también