Um arquivo EPUB é um formato de e-book digital que contém texto, imagens e elementos multimídia, formatados usando tecnologias padrão da web, como HTML e CSS. Os metadados EPUB referem-se a informações essenciais incorporadas nos arquivos EPUB, incluindo detalhes como título, autor, editora e idioma, permitindo catalogação e organização precisas de e-books digitais. Neste artigo, discutiremos como ler, editar e atualizar programaticamente valores de metadados EPUB, incluindo o conjunto de itens Dublin Core usando C#.
A seguir estão links rápidos para os tópicos abordados:
- API .NET para edição de metadados
- Gerenciar metadados EPUB com C#
- Gerenciar metadados Dublin Core com C#
API .NET para edição de metadados
GroupDocs.Metadata fornece API .NET para automatizar o gerenciamento de metadados de vários formatos de arquivo em aplicativos .NET. A API permite ler, atualizar, adicionar, limpar e remover metadados para muitos formatos de arquivo. Hoje, usaremos esta API para lidar com metadados de e-books no formato EPUB.
Você pode baixar as DLLs ou o instalador MSI na seção de downloads ou instalar a API em seu aplicativo .NET via NuGet.
PM> Install-Package GroupDocs.Metadata
Modificando metadados EPUB com C#
Se você deseja alterar as propriedades de metadados do EPUB como desenvolvedor .NET, veja como fazer isso:
- Carregue o eBook EPUB usando a classe Metadata.
- Extraia o pacote raiz de metadados usando o método GetRootPackage.
- Agora você pode facilmente visualizar todas as propriedades de metadados do pacote EPUB.
- Atualize os valores da propriedade conforme necessário.
- Salve o arquivo do e-book com os valores de metadados atualizados usando o método Save.
Aqui estão os pequenos trechos de código C# que mostram as etapas acima para ler e atualizar as propriedades de metadados do EPUB:
Ler metadados EPUB
// Leia metadados 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);
}
Atualizar metadados EPUB
O código-fonte C# a seguir busca e atualiza as propriedades de metadados EPUB do arquivo EPUB.
// Atualizar metadados 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");
}
Modificando metadados EPUB Dublin Core com C#
Os metadados Dublin Core são um conjunto de alguns itens que descrevem os recursos físicos e digitais. Você pode alterar facilmente as propriedades de metadados do Dublin Core usando código C# muito semelhante.
Leia Dublin Core
As linhas a seguir extraem itens de metadados do Dublin Core para análise:
// Leia metadados 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);
}
Atualizar Dublin Core
Em seguida, você pode alterar propriedades específicas do Dublin Core de acordo, conforme mostrado no código abaixo:
// Atualizar metadados 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");
}
Obtendo uma licença gratuita
Se quiser experimentar a alegria desta API em sua capacidade total, você pode obter uma licença temporária gratuitamente.
Conclusão
Neste artigo, exploramos o mundo da manipulação de metadados EPUB. Primeiro, exploramos como ler e editar programaticamente propriedades de metadados EPUB usando C#. Em seguida, fizemos o mesmo com o conjunto de itens Dublin Core para e-books.
Para obter informações detalhadas sobre a API, os leitores são incentivados a consultar a referência da API, o repositório GitHub e a documentação.
Perguntas e discussões adicionais podem ser direcionadas para o fórum fornecido.