ویرایش ابرداده EPUB با استفاده از C#.NET

فایل EPUB یک قالب کتاب الکترونیکی دیجیتال است که حاوی متن، تصاویر و عناصر چندرسانه‌ای است که با استفاده از فناوری‌های وب استاندارد مانند HTML و CSS قالب‌بندی شده‌اند. فراداده EPUB به اطلاعات ضروری تعبیه شده در فایل های EPUB از جمله جزئیاتی مانند عنوان، نویسنده، ناشر و زبان اشاره دارد که فهرست نویسی و سازماندهی دقیق کتاب های الکترونیکی دیجیتال را امکان پذیر می کند. در این مقاله، نحوه خواندن، ویرایش و به‌روزرسانی مقادیر فراداده EPUB از جمله مجموعه Dublin Core با استفاده از C# را به صورت برنامه‌نویسی مورد بحث قرار خواهیم داد.

در زیر پیوندهای سریع به موضوعات تحت پوشش آمده است:

NET API برای ویرایش فراداده

GroupDocs.Metadata .NET API را برای خودکارسازی مدیریت ابرداده قالب‌های فایل مختلف در برنامه‌های NET فراهم می‌کند. API امکان خواندن، به روز رسانی، اضافه کردن، پاک کردن و حذف متادیتا را برای بسیاری از فرمت های فایل فراهم می کند. امروز، ما از این API برای مقابله با ابرداده های کتاب های الکترونیکی با فرمت EPUB استفاده خواهیم کرد.

می‌توانید نصب‌کننده DLL یا MSI را از بخش دانلودها دانلود کنید یا از طریق NuGet API را در برنامه دات‌نت خود نصب کنید.

PM> Install-Package GroupDocs.Metadata

تغییر ابرداده EPUB با C#

اگر می‌خواهید ویژگی‌های فراداده EPUB را به عنوان یک توسعه‌دهنده دات‌نت تغییر دهید، در اینجا می‌توانید این کار را انجام دهید:

  • کتاب الکترونیکی EPUB را با استفاده از کلاس Metadata بارگیری کنید.
  • بسته ریشه ابرداده را با استفاده از روش GetRootPackage استخراج کنید.
  • اکنون می توانید به راحتی تمام ویژگی های ابرداده بسته EPUB را واکشی کنید.
  • مقادیر اموال را در صورت نیاز به روز کنید.
  • فایل کتاب الکترونیکی را با مقادیر فراداده به روز شده با استفاده از روش Save ذخیره کنید.

در اینجا قطعات کوتاه کد C# آمده است که مراحل بالا را برای خواندن و به‌روزرسانی ویژگی‌های فراداده EPUB نشان می‌دهد:

فراداده EPUB را بخوانید

// خواندن فراداده EPUB با استفاده از 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);
}

به روز رسانی EPUB Metadata

کد منبع C# زیر ویژگی های فراداده EPUB فایل EPUB را واکشی و به روز می کند.

// به روز رسانی ابرداده EPUB با استفاده از 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");
}

تغییر ابرداده هسته دوبلین EPUB با C#

Dublin Core ابرداده مجموعه چند موردی است که منابع فیزیکی و دیجیتالی را توصیف می کند. شما به راحتی می توانید ویژگی های ابرداده Dublin Core را با استفاده از کدهای C# بسیار مشابه تغییر دهید.

Dublin Core را بخوانید

چند خط زیر موارد فوق داده Dublin Core را برای تجزیه و تحلیل استخراج می کند:

// خواندن ابرداده Dublin Core با استفاده از 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 را به روز کنید

سپس می توانید ویژگی های خاص Dublin Core را مطابق با کد زیر تغییر دهید:

// به روز رسانی ابرداده 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 را بررسی کردیم. ابتدا، نحوه خواندن و ویرایش خصوصیات ابرداده EPUB را با استفاده از C# به طور برنامه‌نویسی بررسی می‌کنیم. سپس همین کار را برای مجموعه آیتم های Dublin Core برای کتاب های الکترونیکی انجام دادیم.

برای اطلاعات دقیق API، خوانندگان تشویق می شوند که به مرجع API، GitHub مخزن و اسناد مراجعه کنند.

سوالات و بحث های بیشتر را می توان به فروم ارائه شده هدایت کرد.

همچنین ببینید