C# .NET kullanarak EPUB Meta Veri Düzenleme

EPUB dosyası, HTML ve CSS gibi standart web teknolojileri kullanılarak biçimlendirilmiş, metin, resim ve multimedya öğeleri içeren dijital bir e-kitap biçimidir. EPUB meta verileri, başlık, yazar, yayıncı ve dil gibi ayrıntılar da dahil olmak üzere EPUB dosyalarına gömülü temel bilgileri ifade eder ve dijital e-kitapların doğru kataloglanmasını ve düzenlenmesini sağlar. Bu makalede, C# kullanarak Dublin Core öğe kümesi de dahil olmak üzere EPUB meta veri değerlerinin programlı olarak nasıl okunacağını, düzenleneceğini ve güncelleneceğini tartışacağız.

Aşağıda kapsanan konulara hızlı bağlantılar verilmiştir:

Meta Veri Düzenleme için .NET API

GroupDocs.Metadata, .NET uygulamaları içindeki çeşitli dosya formatlarının [meta veri yönetimini] otomatikleştirmek için .NET API’sini sağlar. API, birçok dosya formatına ilişkin meta verileri okumaya, güncellemeye, eklemeye, temizlemeye ve kaldırmaya olanak tanır. Bugün bu API’yi EPUB formatına sahip e-Kitapların meta verileriyle ilgilenmek için kullanacağız.

DLL’leri veya MSI yükleyicisini indirilenler bölümünden indirebilir veya API’yi NuGet aracılığıyla .NET uygulamanıza yükleyebilirsiniz.

PM> Install-Package GroupDocs.Metadata

EPUB Meta Verilerini C# ile Değiştirme

Bir .NET geliştiricisi olarak EPUB meta veri özelliklerini değiştirmek istiyorsanız bunu şu şekilde yapabilirsiniz:

  • Metadata sınıfını kullanarak EPUB e-Kitabını yükleyin.
  • GetRootPackage yöntemini kullanarak meta veri kök paketini çıkarın.
  • Artık EPUB paketinin tüm meta veri özelliklerini görüntülemek için kolayca getirebilirsiniz.
  • Özellik değerlerini gerektiği gibi güncelleyin.
  • Kaydet yöntemini kullanarak e-Kitap dosyasını güncellenmiş meta veri değerleriyle kaydedin.

EPUB meta veri özelliklerini okumak ve güncellemek için yukarıdaki adımları gösteren kısa C# kodu parçaları şunlardır:

EPUB Meta Verilerini Okuyun

// C# kullanarak EPUB meta verilerini okuyun
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 Meta Verilerini Güncelleyin

Aşağıdaki C# kaynak kodu, EPUB dosyasının EPUB meta veri özelliklerini getirir ve günceller.

// C# kullanarak EPUB meta verilerini güncelleme
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 Dublin Core Meta Verilerini C# ile Değiştirme

Dublin Core meta veriler, fiziksel ve dijital kaynakları tanımlayan birkaç öğe kümesidir. Çok benzer C# kodunu kullanarak Dublin Core meta veri özelliklerini kolayca değiştirebilirsiniz.

Dublin Core’u okuyun

Aşağıdaki birkaç satır, analiz edilecek Dublin Core meta veri öğelerini çıkarmaktadır:

// C# kullanarak Dublin Core meta verilerini okuyun
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’u güncelleyin

Daha sonra belirli Dublin Core özelliklerini aşağıdaki kodda gösterildiği gibi değiştirebilirsiniz:

// C# kullanarak Dublin Core meta verilerini güncelleme
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");
}

Ücretsiz Lisans Alma

Bu API’nin keyfini tam kapasiteyle yaşamak istiyorsanız ücretsiz geçici lisans alabilirsiniz.

Çözüm

Bu makalede EPUB meta veri manipülasyonu dünyasını araştırdık. İlk olarak, C# kullanarak EPUB meta veri özelliklerinin programlı olarak nasıl okunacağını ve düzenleneceğini araştırıyoruz. Daha sonra e-Kitaplara yönelik Dublin Core öğeleri seti için de aynısını yaptık.

Ayrıntılı API bilgileri için okuyucuların API referansı, GitHub deposuna ve belgelere başvurmaları önerilir.

Sorular ve daha fazla tartışma sağlanan foruma yönlendirilebilir.

Ayrıca bakınız