EPUB 文件是一种数字电子书格式,包含文本、图像和多媒体元素,使用 HTML 和 CSS 等标准 Web 技术进行格式化。 EPUB 元数据是指嵌入在 EPUB 文件中的基本信息,包括标题、作者、出版商和语言等详细信息,可实现数字电子书的准确编目和组织。在本文中,我们将讨论如何使用 C# 以编程方式读取、编辑和更新 EPUB 元数据值,包括 Dublin Core 项目集。
以下是所涵盖主题的快速链接:
用于元数据编辑的.NET API
GroupDocs.Metadata 提供 .NET API 以自动管理 .NET 应用程序中各种文件格式的元数据。该 API 允许读取、更新、添加、清理和删除多种文件格式的元数据。今天,我们将使用这个API来处理EPUB格式电子书的元数据。
您可以从 下载部分 下载 DLL 或 MSI 安装程序,或通过 NuGet 在您的 .NET 应用程序中安装 API。
PM> Install-Package GroupDocs.Metadata
使用 C# 修改 EPUB 元数据
如果您想以 .NET 开发人员的身份更改 EPUB 元数据属性,可以按以下步骤操作:
- 使用 Metadata 类加载 EPUB 电子书。
- 使用 GetRootPackage 方法提取元数据根包。
- 现在您可以轻松获取并查看 EPUB 包的所有元数据属性。
- 根据需要更新属性值。
- 使用 Save 方法保存带有更新的元数据值的电子书文件。
以下是简短的 C# 代码片段,显示了读取和更新 EPUB 元数据属性的上述步骤:
读取 EPUB 元数据
// 使用 C# 读取 EPUB 元数据
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);
}
更新 EPUB 元数据
以下 C# 源代码获取并更新 EPUB 文件的 EPUB 元数据属性。
// 使用 C# 更新 EPUB 元数据
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");
}
使用 C# 修改 EPUB Dublin 核心元数据
都柏林核心元数据是描述物理和数字资源的一组项目。您可以使用非常相似的 C# 代码轻松更改都柏林核心元数据属性。
阅读都柏林核心
以下几行提取都柏林核心元数据项进行分析:
// 使用 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);
}
更新都柏林核心
然后您可以相应地更改特定的 Dublin Core 属性,如下面的代码所示:
// 使用 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");
}
获得免费许可证
如果您想充分体验此 API 的乐趣,您可以免费获得临时许可证。
结论
在本文中,我们探索了 EPUB 元数据操作的世界。首先,我们探讨如何使用 C# 以编程方式读取和编辑 EPUB 元数据属性。然后我们对电子书的都柏林核心项目集做了同样的事情。
有关详细的 API 信息,鼓励读者查阅 API 参考、GitHub 存储库和 文档。
问题和进一步讨论可以直接到提供的论坛。