İç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
- Dosyayı bir
Metadatanesnesine yükleyin. - Etiket tabanlı bir koşul ile
FindProperties()kullanarak özellikleri bulun. Belirli bir etiket ya da tüm bir kategoriyle filtreleyebilirsiniz. - 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
- Dosyayı bir
Metadatanesnesine yükleyin. - 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. - Kaç özelliğin eklendiğini görmek için dönüş değerini kontrol edin.
- 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
Metadatasınıfı ile hem kaynak hem de hedef dosyaları yükleyin.CopyTometodunu kullanarak meta verileri kaynak dosyadan hedefe aktarın.- 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
- Dosyayı bir
Metadatanesnesine yükleyin. - Etiket tabanlı bir filtre ve yeni
PropertyValueileSetProperties()metodunu çağırın. - Etkilenen (güncellenen veya eklenen) özellik sayısını dönen değeri inceleyin.
- 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
- Dosyayı bir
Metadatanesnesine yükleyin. - Kaldırılacak özellikleri tanımlayan etiket tabanlı bir koşul ile
RemoveProperties()metodunu çağırın. - Metodun döndürdüğü kaldırılan özellik sayısını gözden geçirin.
- 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
- GroupDocs.Metadata for .NET Documentation
- GroupDocs.Metadata for .NET Product Overview
- GroupDocs.Metadata for .NET GitHub Examples
- GroupDocs.Metadata for .NET Release Notes
Ü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.