İçindekiler

Genel Bakış

Farklı dosya biçimleri arasında belge meta verilerini yönetmek zorlayıcı olabilir. GroupDocs.Metadata for .NET, ortak meta veri özelliklerini (ör. Başlık, Yazar, Oluşturulma Tarihi) etiketler altında birleştiren bir etiketleme sistemi sunarak bu süreci basitleştirir. Bu nasıl‑yapılır kılavuzunda, GroupDocs.Metadata for .NET kullanarak etiketlerle meta verileri bulma, ekleme, kopyalama, güncelleme ve kaldırma konularını inceleyeceğiz.

GroupDocs.Metadata, belge formatı veya meta veri standardı ne olursa olsun bir dosyadaki önemli meta veri özelliklerini etiketlemek için etiketler kullanır. Her etiket, daha kolay keşif için ilgili etiketleri gruplayan bir kategoriye aittir.
Örneğin:
İçerik Etiketleri: Dosyanın içeriğini tanımlayan etiketler (ör. dil, tür, konu, derecelendirme)
Kişi Etiketleri: İçerikle ilişkili kişi veya kurumları belirten etiketler (ör. belge oluşturucu, editör, şirket)
Zaman Etiketleri: Dosyanın yaşam döngüsündeki zaman damgalarını temsil eden etiketler (ör. oluşturma tarihi, son değiştirilme zamanı, yazdırma tarihi)
(Diğer kategoriler arasında Hukuki, Köken, Araç vb. bulunur; her biri ilgili etiketleri toplar.)
Bu etiketleri kullanarak Word belgeleri, PDF’ler, görseller ve daha fazlası arasında tutarlı bir şekilde meta verileri arayabilir ve işleyebilirsiniz.
Örneğin, Kişi kategorisindeki “Yazar” ya da “Oluşturan” etiketi, bir Word belgesindeki yazar özelliğiyle ya da bir PDF’deki aynı özellikle eşleşir; format‑özel meta veri alanı adını bilmenize gerek kalmaz. Bu da etiketleri dosyaları düzenlemek ve meta veri yönetim görevlerini otomatikleştirmek için son derece kullanışlı kılar.

Kullanım Senaryoları

Bu bölümde, pratik uygulamaları vurgulayan farklı kullanım senaryolarını tanıtacağız.

Etikete Göre Meta Veri Özelliklerini Bulma

Yaygın bir senaryo, bir dosyadaki meta veri girişlerini etiketlerine göre bulmaktır. Bu, arama yapılabilirliği artırmak için özellikle yararlıdır – belge formatını düşünmeden herhangi bir belgede belirli bilgileri alabilirsiniz.

Adımlar

  1. Dosyayı bir Metadata nesnesine yükleyin.
  2. Etiket tabanlı bir koşul ile FindProperties() kullanarak özellikleri bulun. Belirli bir etiket ya da tüm bir kategoriyle filtreleyebilirsiniz.
  3. Sonuçları dolaşarak meta verileri inceleyin veya kullanın.
// Load the source document (e.g., a PowerPoint file)
using (Metadata metadata = new Metadata("source.pptx"))
{
    // Find properties tagged as "last editor" or "last modified time"
    var properties = metadata.FindProperties(p => 
        p.Tags.Contains(Tags.Person.Editor) || 
        p.Tags.Contains(Tags.Time.Modified));

    // List the found properties and their values
    foreach (var property in properties)
    {
        Console.WriteLine($"Property name: {property.Name}, Value: {property.Value}");
    }
}

Etikete Göre Meta Veri Özellikleri Ekleme

Bazen bir dosyada belirli meta veriler eksik olabilir (ör. “Son Yazdırma Tarihi” kaydedilmemiş). GroupDocs.Metadata kullanarak bir etiketi belirterek meta veri özelliği ekleyebilir ve API, format destekliyorsa uygun meta veri paketine yerleştirir.

Adımlar

  1. Dosyayı bir Metadata nesnesine yükleyin.
  2. Nerede ekleme yapılacağını belirlemek için bir koşul vererek AddProperties() metodunu çağırın ve yeni özellik değerini sağlayın.
  3. Kaç özelliğin eklendiğini görmek için dönüş değerini kontrol edin.
  4. Değişiklikleri kalıcı hale getirmek isterseniz belgeyi kaydedin.
using (Metadata metadata = new Metadata("source.pdf"))
{
    if (metadata.FileFormat != FileFormat.Unknown && !metadata.GetDocumentInfo().IsEncrypted)
    {
        // Add a "Last Printed" date property if it's missing
        int affected = metadata.AddProperties(
            p => p.Tags.Contains(Tags.Time.Printed),
            new PropertyValue(DateTime.Now));

        Console.WriteLine("Properties added: " + affected);
        metadata.Save("output.pdf");
    }
}

Burada Tags.Time.Printed – Zaman kategorisindeki “Yazdırılan” tarih etiketi – kullanılmıştır. Koşul p.Tags.Contains(Tags.Time.Printed) bilinen Yazdırma meta veri özelliğini hedefler. Özellik eksikse, AddProperties sağladığınız değerle (burada DateTime.Now) ekler. Metod, eklenen özellik sayısını döndürür; ardından dosyayı kaydederek yeni meta veriyi kalıcı hâle getiririz.

Etikete Göre Meta Veri Özelliklerini Kopyalama

Bazen yalnızca yazar adları ya da oluşturulma tarihleri gibi belirli meta veri türlerini kopyalamak isteyebilirsiniz. CopyTo metodu, kopyalanacak özellikleri filtrelemek için bir koşul alır. İşte yalnızca yazarlar ya da oluşturulma tarihleri ile ilgili meta verileri kopyalamanın yolu:

Adımlar

  1. Metadata sınıfı ile hem kaynak hem de hedef dosyaları yükleyin.
  2. CopyTo metodunu kullanarak meta verileri kaynak dosyadan hedefe aktarın.
  3. Kopyalanan meta verilerin uygulanması için hedef dosyayı kaydedin.
using (Metadata sourceMetadata = new Metadata("source.xlsx"))
using (Metadata targetMetadata = new Metadata("target.pptx"))
{
    // Copy only Author (Creator) and Creation Date metadata properties
    sourceMetadata.CopyTo(targetMetadata, p =>
        p.Tags.Contains(Tags.Person.Creator) ||
        p.Tags.Contains(Tags.Time.Created));

    // Save the changes
    targetMetadata.Save();
}

Bu örnekte, yalnızca Creator (yazar adı) ve Created Date etiketli meta veriler Excel dosyasından (source.xlsx) PowerPoint sunumuna (target.pptx) kopyalanır. Bu seçici kopyalama, meta verileriniz üzerinde kesin kontrol sağlar ve belgelerinizde yalnızca istediğiniz meta veri kalır.

Etikete Göre Meta Veri Özelliklerini Güncelleme

Yeni meta veri eklemenin ötesinde, mevcut meta veri değerlerini güncellemeniz (ör. yazar adını düzeltmek ya da tarihleri standardize etmek) gerekebilir. GroupDocs.Metadata, bunun için SetProperties() metodunu sunar. Bu metod, hedef özellikleri bulmak için etiketleri kullanır ve değerlerini günceller. Hedeflenen bir özellik yoksa, SetProperties eksik özelliği ekleyerek güncelleme ve ekleme adımlarını birleştirir.

Adımlar

  1. Dosyayı bir Metadata nesnesine yükleyin.
  2. Etiket tabanlı bir filtre ve yeni PropertyValue ile SetProperties() metodunu çağırın.
  3. Etkilenen (güncellenen veya eklenen) özellik sayısını dönen değeri inceleyin.
  4. Gerekirse dosyayı kaydedin.
using (Metadata metadata = new Metadata("source.pdf"))
{
    // Update all "Created" or "Modified" date properties to now
    int affected = metadata.SetProperties(
        p => p.Tags.Contains(Tags.Time.Created) || p.Tags.Contains(Tags.Time.Modified),
        new PropertyValue(DateTime.Now));

    Console.WriteLine("Properties updated or added: " + affected);
    metadata.Save("updated.pdf");
}

Koşulda kullanılan Tags.Time.Created ve Tags.Time.Modified, sırasıyla oluşturulma ve son değiştirilme tarihleri için etiketlerdir. Kod, bu etiketlerden birine sahip herhangi bir meta veri özelliğini bulur ve değerini DateTime.Now olarak ayarlar. Eğer dosyada bir Created tarihi yoksa, kütüphane bu standarda uygun bir özellik ekler.

Etikete Göre Meta Veri Kaldırma

Gizlilik ya da uyumluluk nedeniyle, belgelerden belirli meta verileri (ör. yazar adları veya kişisel bilgiler) kaldırmanız gerekebilir. Etiketler, farklı formatlarda bu tür meta verileri hedef alıp kaldırmayı kolaylaştırır. RemoveProperties() metodu, diğerleri gibi bir koşul alır ve eşleşen tüm meta veri girişlerini siler.

Adımlar

  1. Dosyayı bir Metadata nesnesine yükleyin.
  2. Kaldırılacak özellikleri tanımlayan etiket tabanlı bir koşul ile RemoveProperties() metodunu çağırın.
  3. Metodun döndürdüğü kaldırılan özellik sayısını gözden geçirin.
  4. Değişiklikleri uygulamak için dosyayı kaydedin.
using (Metadata metadata = new Metadata("source.docx"))
{
    // Remove properties that are tagged as Creator or Editor, or any string containing "John"
    int removedCount = metadata.RemoveProperties(p =>
        p.Tags.Contains(Tags.Person.Creator) ||
        p.Tags.Contains(Tags.Person.Editor) ||
        (p.Value.Type == MetadataPropertyType.String && p.Value.ToString().Contains("John"))
    );

    Console.WriteLine("Properties removed: " + removedCount);
    metadata.Save("cleaned.docx");
}

Bu koşul birden fazla kriteri birleştirir: Creator veya Editor etiketiyle işaretlenmiş (her ikisi de Kişi kategorisindedir) tüm özellikler kaldırılır; ayrıca değeri içinde “John” geçen string tipindeki meta veriler de silinir. Gerçek bir senaryoda, böyle bir mantıkla belgeyi yazar adları veya müşteri isimleri gibi kişisel verilerden arındırabilirsiniz.

Sonuç

Bu makalede, GroupDocs.Metadata for .NET’in etiketleme özelliği sayesinde birçok belge türü üzerinde meta verileri ekleme, kopyalama, bulma, güncelleme ve kaldırma işlemlerinin nasıl tek bir çatı altında gerçekleştirilebileceğini gösterdik. Content, Person, Time gibi etiketleri kullanarak tutarlı meta veriyle dosyaları düzenleyen, arama yapılabilirliği artıran (ör. tüm yazar ya da tarih bazlı dosyaları bulma) ve belge kategorilendirme ya da temizleme süreçlerini otomatikleştiren iş akışları oluşturabilirsiniz.

Ayrıca Bakınız

Ücretsiz Deneme Alın

GroupDocs.Metadata for .NET’in ücretsiz deneme sürümünü releases.groupdocs.com adresinden indirebilirsiniz. Ayrıca tüm özellikleri ve fonksiyonları kısıtlama olmadan denemeniz için geçici bir lisansı buradan edinebilirsiniz.