Edición de metadatos EPUB usando C# .NET

Un archivo EPUB es un formato de libro electrónico digital que contiene texto, imágenes y elementos multimedia, formateados utilizando tecnologías web estándar como HTML y CSS. Los metadatos EPUB se refieren a información esencial incorporada en los archivos EPUB, incluidos detalles como título, autor, editor e idioma, lo que permite catalogar y organizar con precisión los libros electrónicos digitales. En este artículo, analizaremos cómo leer, editar y actualizar mediante programación los valores de metadatos EPUB, incluido el conjunto de elementos Dublin Core usando C#.

A continuación se muestran enlaces rápidos a los temas tratados:

API .NET para edición de metadatos

GroupDocs.Metadata proporciona API de .NET para automatizar la gestión de metadatos de varios formatos de archivos dentro de aplicaciones .NET. La API permite leer, actualizar, agregar, limpiar y eliminar metadatos para muchos formatos de archivo. Hoy usaremos esta API para manejar metadatos de libros electrónicos que tienen formato EPUB.

Puede descargar las DLL o el instalador MSI desde la sección de descargas o instalar la API en su aplicación .NET a través de NuGet.

PM> Install-Package GroupDocs.Metadata

Modificación de metadatos EPUB con C#

Si desea cambiar las propiedades de los metadatos de EPUB como desarrollador de .NET, así es como puede hacerlo:

  • Cargue el libro electrónico EPUB usando la clase Metadatos.
  • Extraiga el paquete raíz de metadatos utilizando el método GetRootPackage.
  • Ahora puede buscar fácilmente para ver todas las propiedades de metadatos del paquete EPUB.
  • Actualice los valores de propiedad según sea necesario.
  • Guarde el archivo del libro electrónico con los valores de metadatos actualizados utilizando el método Guardar.

A continuación se muestran breves fragmentos de código C# que muestran los pasos anteriores para leer y actualizar las propiedades de metadatos de EPUB:

Leer metadatos EPUB

// Leer metadatos EPUB usando C#
using (Metadata metadata = new Metadata("path/ebook.epub"))
{
    var root = metadata.GetRootPackage<EpubRootPackage>();

    Console.WriteLine(root.EpubPackage.Version);
    Console.WriteLine(root.EpubPackage.UniqueIdentifier);
    Console.WriteLine(root.EpubPackage.ImageCover != null ? root.EpubPackage.ImageCover.Length : 0);
    Console.WriteLine(root.EpubPackage.Description);
    Console.WriteLine(root.EpubPackage.Title);
}

Actualizar metadatos EPUB

El siguiente código fuente de C# recupera y actualiza las propiedades de metadatos EPUB del archivo EPUB.

// Actualizar metadatos de EPUB usando C#
using (Metadata metadata = new Metadata("path/ebook.epub"))
{
    var root = metadata.GetRootPackage<EpubRootPackage>();

    root.EpubPackage.Creator = "GroupDocs";
    root.EpubPackage.Description = "metadata updated e-book";
    root.EpubPackage.Format = "EPUB";
    root.EpubPackage.Date = DateTime.Now.ToString();
 
    metadata.Save("path/ebook.epub");
}

Modificación de metadatos de EPUB Dublin Core con C#

Dublin Core los metadatos son un conjunto de pocos elementos que describen los recursos físicos y digitales. Puede cambiar fácilmente las propiedades de los metadatos de Dublin Core utilizando un código C# muy similar.

Leer Dublin Core

Las siguientes líneas extraen elementos de metadatos de Dublin Core para analizar:

// Leer metadatos de Dublin Core usando C#
using (Metadata metadata = new Metadata("path/ebook.epub"))
{
    var root = metadata.GetRootPackage<EpubRootPackage>();

    Console.WriteLine(root.DublinCorePackage.Rights);
    Console.WriteLine(root.DublinCorePackage.Publisher);
    Console.WriteLine(root.DublinCorePackage.Title);
    Console.WriteLine(root.DublinCorePackage.Creator);
    Console.WriteLine(root.DublinCorePackage.Language);
    Console.WriteLine(root.DublinCorePackage.Date);
}

Actualizar Dublin Core

Luego puede cambiar las propiedades específicas de Dublin Core en consecuencia, como se muestra en el siguiente código:

// Actualice los metadatos de Dublin Core usando C#
using (Metadata metadata = new Metadata("path/ebook.epub"))
{
    var root = metadata.GetRootPackage<EpubRootPackage>();

    root.DublinCorePackage.SetProperties(p => p.Name == "dc:creator", new PropertyValue("GroupDocs"));
    root.DublinCorePackage.SetProperties(p => p.Name == "dc:description", new PropertyValue("metadata updated e-book"));
    root.DublinCorePackage.SetProperties(p => p.Name == "dc:title", new PropertyValue("Sample EPUB"));
    root.DublinCorePackage.SetProperties(p => p.Name == "dc:date", new PropertyValue(DateTime.Now.ToString()));

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

Obtener una licencia gratuita

Si desea experimentar el placer de esta API en su máxima capacidad, puede obtener una licencia temporal gratuita.

Conclusión

En este artículo, exploramos el mundo de la manipulación de metadatos EPUB. Primero, exploramos cómo leer y editar mediante programación propiedades de metadatos EPUB usando C#. Luego hicimos lo mismo con el conjunto de elementos Dublin Core para los libros electrónicos.

Para obtener información detallada sobre la API, se recomienda a los lectores que consulten la referencia de API, el repositorio GitHub y la documentación.

Las preguntas y debates adicionales pueden dirigirse al foro proporcionado.

Ver también