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 儲存庫和 文件。
問題和進一步討論可以直接到提供的論壇。