Belge Özellikleriyle .NET'de Nasıl Çalışılır

Belge Özellikleriyle .NET'de Nasıl Çalışılır

Document Properties ile .NET içinde Nasıl Çalışılır

Her Word belgesi iki kategori meta veriye sahiptir — Word’ün her dosya için izlediği standart alanlar ve bir programın eklediği uygulama tanımlı değerler. Bu kılavuz, Aspose.Words FOSS for .NET ile ikisini nasıl okuyup ayarlayacağınızı, Document.BuiltInDocumentProperties ve Document.CustomDocumentProperties kullanarak gösterir; her ikisi de nihayetinde aynı DocumentProperty temsiline dayanır.


Adım Adım Kılavuz

Adım 1: Yerleşik Belge Özelliklerini Oku ve Ayarla

Document.BuiltInDocumentProperties, bir BuiltInDocumentProperties koleksiyonu döndürür. Sabit, bilinen bir özellik kümesi olduğu için değerler isimle aranmak yerine sıradan üyeler gibi okunur ve yazılır — örneğin açıklayıcı alanlar için BuiltInDocumentProperties.Author, .Title, .Subject, .Manager, .Company, .Category, .Keywords ve .Comments, zaman damgaları için .CreatedTime, .LastSavedTime, .LastPrinted ve .LastSavedBy. .Characters, .CharactersWithSpaces, .Lines ve .Bytes gibi istatistikler de bu şekilde sunulur, ayrıca .Template ve .HyperlinkBase.


Adım 2: Özel Bir Belge Özelliği Ekle

Document.CustomDocumentProperties Word’ün yerleşik kümesinin bir parçası olmayan uygulama tanımlı meta veriler için bir CustomDocumentProperties koleksiyonu döndürür. Bir isim ve tiplenmiş bir değer — string, sayı, boolean veya tarih, değerin tipine uyan overload’a bağlı olarak — içeren Add(name, value) overload’larından birini çağırarak yeni bir özellik oluşturun.


Adım 3: Özel Bir Özelliği Belge İçeriğine Bağla

Statik bir değer yerine, özel bir özellik, işaretlenmiş bir içerik aralığını izleyebilir, böylece değeri o içerikle senkronize kalır. Bağlı içerik değiştiğinde statik bir özelliği manuel olarak yeniden senkronize etmek yerine, CustomDocumentProperties.AddLinkToContent(name, linkSource)‘ı çağırarak işaretçi adını linkSource olarak geçin.


Adım 4: Özellikleri Ara, Kontrol Et ve Kaldır

Hem BuiltInDocumentProperties hem de CustomDocumentProperties, soyut DocumentPropertyCollection‘den türetilir, bu yüzden aynı şekilde incelenirler: ada göre indeksleme (ör. properties[name]) bir özelliği getirir, Contains(name) var olup olmadığını kontrol eder, IndexOf(name) konumunu döndürür ve Count koleksiyonun kaç özellik tuttuğunu bildirir. Özel bir özelliğin mevcut olmayabileceği durumlarda ada göre indekslemeden önce Contains(name)‘i çağırın, böylece eksik bir özelliği istisna yoluyla ele almaktan kaçınırsınız. Bir özelliği Remove(name) veya RemoveAt(index) ile kaldırın, ya da koleksiyondaki tüm özellikleri Clear() ile temizleyin.


Adım 5: Bir Özel Özelliğin Değerini Önceden Tipini Bilmeden Oku

Bir DocumentProperty, bir Name, tiplenmemiş bir Value ve bir Type içerir — bir PropertyType enum değeri: Boolean, DateTime, Double, Number, String, StringArray, ObjectArray, ByteArray veya Other. Value tiplenmemiş olduğundan, doğrudan dönüştürmek yerine eşleşen tipli erişiciyi kullanın: ToInt(), ToDouble(), ToDateTime(), ToBool(), ToByteArray() veya ToString(). Bir özelliğin statik bir değer tutmak yerine belge içeriğine bağlı olup olmadığını öğrenmek için IsLinkToContent ve LinkSource‘yi kontrol edin (Adım 3’e bakın).


Adım 6: Belgenin Koruma Durumunu Kontrol Et

BuiltInDocumentProperties.Security, belgenin depolanmış koruma meta verilerini tanımlayan bir DocumentSecurity değeri rapor eder: None, PasswordProtected, ReadOnlyRecommended, ReadOnlyEnforced veya ReadOnlyExceptAnnotations. Yüklenmiş bir belgede daha fazla koruma ile ilgili işleme ihtiyaç olup olmadığını karar vermeden önce bu özelliği okuyun.


Yaygın Sorunlar ve Çözümler

Birini indekslemek CustomDocumentProperties İsimle koleksiyon kullanılabilir bir şey döndürmez. Bu belgede özellik mevcut değil. Çağır Contains(name) ilk olarak, ya da özelliği uygun Add(name, value) aşırı yükleme.

Özel bir özelliğin değerini okumak yanlış tür veriyor. DocumentProperty.Value tipi belirtilmemiş object; çağıran eşleşmeyen bir tür varsaydı Type. İlgili tipli erişiciyi kullanın (ToInt(), ToDouble(), ToDateTime(), ToBool(), ToByteArray()) temel alarak DocumentProperty.Type.

Bağlantılı özel bir özelliğin değeri eski gibi görünüyor. Özellik şu aracılığıyla bağlanmıştır AddLinkToContent, ve yer imli içerik değişti. Yer iminin hâlâ özelliğin değerini beslemesi gereken aralığı işaret ettiğini doğrulayın. linkSource yer iminin hâlâ özelliğin değerini beslemesi gereken aralığı işaret ettiğini.

Kelime istatistikleri, örneğin Characters or Lines belge’nin gerçek mevcut içeriğiyle eşleşmiyor. Yerleşik istatistikler, depolanmış meta verileri yansıtır; canlı bir sayım değildir. Gerekli istatistikleri yeniden hesaplayın ve ilgili BuiltInDocumentProperties değerleri, güncel bir sayım gerektiğinde.


Sık Sorulan Sorular

Belgenin yazarını ve başlığını nasıl okur veya ayarlarım?

Doğrudan Document.BuiltInDocumentProperties.Author ve .Title kullanın — bunlar Document.BuiltInDocumentProperties üzerinden erişilen BuiltInDocumentProperties koleksiyonundaki sıradan string özelliklerdir.

Uygulamaya özgü, standart bir Word özelliği olmayan meta verileri nasıl eklerim?

Document.CustomDocumentProperties.Add(name, value)‘ı özelliğin adı ve değeriyle kullanın; eşleşen Add aşırı yükleme, değerin türüne göre seçilir.

BuiltInDocumentProperties ile CustomDocumentProperties arasındaki fark nedir?

BuiltInDocumentProperties, Word’ün sabit standart meta veri alanları kümesidir ve adlandırılmış üyeler olarak erişilir. CustomDocumentProperties, uygulama tarafından tanımlanan meta veriler için DocumentProperty değerlerinden oluşan açık uçlu, adlandırılmış bir koleksiyondur; isimle indeksleyici aracılığıyla (ör. properties[name]) ve Contains üzerinden erişilir.

Özel bir özelliğin sabit bir değer yerine belge içeriğinin bir bölümünü izlemesini nasıl sağlarsınız?

CustomDocumentProperties.AddLinkToContent(name, linkSource)‘ı kullanın, bir yer işareti adını linkSource olarak geçirin; böylece özelliğin değeri o yer işaretli içeriği yansıtır.

Bir belgenin şifre korumalı olup olmadığını nasıl kontrol ederim?

Document.BuiltInDocumentProperties.Security öğesini okuyun, bir DocumentSecurity değeri; PasswordProtected, belgenin depolanmış meta verisinin şifre koruması içerdiğini gösterir.


Ayrıca Bakınız

 Türkçe