Belge Özellikleriyle Çalışma

Belge özellikleri, belgeniz hakkında bazı yararlı bilgilerin saklanmasına olanak tanır. Bu özellikler iki gruba ayrılabilir:

  • Belge başlığı, yazar adı, belge istatistikleri ve diğerleri gibi değerleri içeren sistem veya yerleşik.
  • Kullanıcı tanımlı veya özel, kullanıcının hem adı hem de değeri tanımlayabildiği ad-değer çiftleri olarak sağlanır.

API ve Sürüm Numarası hakkındaki bilgilerin doğrudan çıktı belgelerine yazıldığını bilmek faydalıdır. Örneğin, bir belgeyi PDF’ye dönüştürdükten sonra Aspose.Words, “Uygulama” alanını “Aspose.Words” ile ve “PDF Yapımcısı” alanını “.NET için Aspose.Words YY.MN” ile doldurur; burada YY.M.N, dönüştürme için kullanılan Aspose.Words sürümüdür.. Daha fazla ayrıntı için bkz. Çıktı Belgelerinde Yer Alan Üretici veya Üretici Adı.

Belge Özelliklerine Erişim

Aspose.Words’teki belge özelliklerine erişmek için şunu kullanın:

BuiltInDocumentProperties ve CustomDocumentProperties, DocumentProperty nesnelerinin koleksiyonlarıdır. Bu nesneler indeksleyici özelliği aracılığıyla isme veya indekse göre elde edilebilir.

BuiltInDocumentProperties ayrıca, uygun türdeki değerleri döndüren bir dizi girilen özellik aracılığıyla belge özelliklerine erişim sağlar. CustomDocumentProperties, bir belgeye belge özellikleri eklemenizi veya belgeden belge özelliklerini kaldırmanızı sağlar.

DocumentProperty sınıfı, bir belge özelliğinin adını, değerini ve türünü almanıza olanak tanır. Value bir nesne döndürür, ancak özellik değerinin belirli bir türe dönüştürülmesini sağlayan bir dizi yöntem vardır. Özelliğin türünü öğrendikten sonra uygun türün değerini elde etmek için DocumentProperty.ToString ve DocumentProperty.ToInt gibi DocumentProperty.ToXXX yöntemlerinden birini kullanabilirsiniz.

Aşağıdaki kod örneği, bir belgedeki tüm yerleşik ve özel özelliklerin nasıl numaralandırılacağını gösterir:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
string fileName = dataDir + "Properties.doc";
Document doc = new Document(fileName);
Console.WriteLine("1. Document name: {0}", fileName);
Console.WriteLine("2. Built-in Properties");
foreach (DocumentProperty prop in doc.BuiltInDocumentProperties)
Console.WriteLine("{0} : {1}", prop.Name, prop.Value);
Console.WriteLine("3. Custom Properties");
foreach (DocumentProperty prop in doc.CustomDocumentProperties)
Console.WriteLine("{0} : {1}", prop.Name, prop.Value);

Microsoft Word’te “Dosya → Özellikler” menüsünü kullanarak belge özelliklerine erişebilirsiniz.

belge-özellikleri-1.png ile çalış

Belge Özellikleri Ekleme veya Kaldırma

Aspose.Words’i kullanarak yerleşik belge özelliklerini ekleyemez veya kaldıramazsınız. Yalnızca değerlerini değiştirebilir veya güncelleyebilirsiniz.

Aspose.Words ile özel belge özellikleri eklemek için, yeni özellik adını ve uygun türün değerini ileterek Add yöntemini kullanın. Yöntem, yeni oluşturulan DocumentProperty nesnesini döndürür.

Özel özellikleri kaldırmak için, kaldırılacak özellik adını ileterek Remove yöntemini veya özelliği dizine göre kaldırmak için RemoveAt yöntemini kullanın. Clear yöntemini kullanarak da tüm özellikleri kaldırabilirsiniz.

Aşağıdaki kod örneği, belirli bir ada sahip özel bir özelliğin bir belgede mevcut olup olmadığını kontrol eder ve birkaç özel belge özelliği daha ekler:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(dataDir + "Properties.doc");
CustomDocumentProperties props = doc.CustomDocumentProperties;
if (props["Authorized"] == null)
{
props.Add("Authorized", true);
props.Add("Authorized By", "John Smith");
props.Add("Authorized Date", DateTime.Today);
props.Add("Authorized Revision", doc.BuiltInDocumentProperties.RevisionNumber);
props.Add("Authorized Amount", 123.45);
}

Aşağıdaki kod örneği, özel bir belge özelliğinin nasıl kaldırılacağını gösterir:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(dataDir + "Properties.doc");
doc.CustomDocumentProperties.Remove("Authorized Date");

Yerleşik Belge Özelliklerini Güncelle

Aspose.Words, Microsoft Word’nin bazı özelliklerde yaptığı gibi belge özelliklerini otomatik olarak güncellemez ancak bazı istatistiksel yerleşik belge özelliklerini güncellemek için bir yöntem sağlar. Aşağıdaki özellikleri yeniden hesaplamak ve güncellemek için UpdateWordCount yöntemini çağırın:

İçeriğe Bağlı Yeni Bir Özel Özellik Oluşturun

Aspose.Words, içeriğe bağlı yeni bir özel belge özelliği oluşturmak için AddLinkToContent yöntemini sağlar. Bu özellik, yeni oluşturulan özellik nesnesini döndürür veya LinkSource geçersizse null değerini döndürür.

Aşağıdaki kod örneği, özel bir özelliğe bağlantının nasıl yapılandırılacağını gösterir:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(dataDir + "test.docx");
// Retrieve a list of all custom document properties from the file.
CustomDocumentProperties customProperties = doc.CustomDocumentProperties;
// Add linked to content property.
DocumentProperty customProperty = customProperties.AddLinkToContent("PropertyName", "BookmarkName");
// Also, accessing the custom document property can be performed by using the property name.
customProperty = customProperties["PropertyName"];
// Check whether the property is linked to content.
bool isLinkedToContent = customProperty.IsLinkToContent;
// Get the source of the property.
string source = customProperty.LinkSource;
// Get the value of the property.
string value = customProperty.Value.ToString();

Belge Değişkenlerini Alma

Variables özelliğini kullanarak belge değişkenlerinin bir koleksiyonunu alabilirsiniz. Değişken adları ve değerleri dizelerdir.

Aşağıdaki kod örneği, belge değişkenlerinin nasıl numaralandırılacağını gösterir:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithDocument();
// Load the template document.
Document doc = new Document(dataDir + "TestFile.doc");
string variables = "";
foreach (KeyValuePair<string, string> entry in doc.Variables)
{
string name = entry.Key.ToString();
string value = entry.Value.ToString();
if (variables == "")
{
// Do something useful.
variables = "Name: " + name + "," + "Value: {1}" + value;
}
else
{
variables = variables + "Name: " + name + "," + "Value: {1}" + value;
}
}

Kişisel Bilgileri Belgeden Kaldır

Bir Word belgesini başkalarıyla paylaşmak istiyorsanız yazar adı ve şirketi gibi kişisel bilgileri kaldırmak isteyebilirsiniz. Bunu yapmak için, belgeyi kaydettikten sonra Microsoft Word’nin tüm kullanıcı bilgilerini yorumlardan, revizyonlardan ve belge özelliklerinden kaldıracağını belirten bayrağı ayarlamak üzere RemovePersonalInformation özelliğini kullanın.

Aşağıdaki kod örneği kişisel bilgilerin nasıl kaldırılacağını gösterir:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(dataDir + "Properties.doc");
doc.RemovePersonalInformation = true;
dataDir = dataDir + "RemovePersonalInformation_out.docx";
doc.Save(dataDir);