Робота з документами

Властивості документів дозволяють зберігати інформацію про ваш документ. Ці властивості можна розділити на дві групи:

  • Система або вбудований, що містить значення, такі як назва документа, назву автора, статистика документів та інші.
  • Ім’я * Визначені або користувацькі, надані як пари з іменем, де користувач може визначити як ім’я та значення.

Корисна інформація API і реєстраційний номер безпосередньо письмовий на вихідні документи. Наприклад, при конвертації документа в PDF, Aspose.Words заповнює поле “Аплікація” з “Aspose.Words”, і поле “PDF Producer” з “Aspose.Words для .NET YY.M.N, де YY.M.N - версія Aspose.Words використовується для перетворення. Докладніше Генератор або виробник ім’я включені в вихідні документий

Доступ до документів

Доступ до властивостей документа в Aspose.Words використання:

BuiltInDocumentProperties і CustomDocumentProperties колекції DocumentProperty об’єкти. Ці об’єкти можна отримати за допомогою індексатора за назвою або за індексом.

BuiltInDocumentProperties додатково надає доступ до властивостей документів за допомогою набору введених властивостей, що повертає значення відповідного типу. CustomDocumentProperties увімкніть додавання або видалення властивостей документів з документа.

Про нас DocumentProperty клас дозволяє отримати ім’я, значення та тип майна документа. Value повертає об’єкт, але є набором методів, що дозволяють вам отримати вартість майна, що перетворюється на конкретний тип. Після того, як ви знаєте, який тип нерухомості є, ви можете використовувати один з DocumentProperty.ToXXX методи, такі як DocumentProperty.ToString і DocumentProperty.ToInt, отримувати значення відповідного типу.

Приклад коду показує, як об’єднати всі вбудовані та спеціальні властивості в документі:

// 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, Ви можете отримати доступ до властивостей документів за допомогою меню “Файл → Властивості”.

/words/net/work-with-document-properties/work-with-document-properties-1.png

Додавання або видалення властивостей документів

Ви не можете додати або видалити вбудовані властивості документів Aspose.Wordsй Ви можете змінити або оновити свої значення.

Для додавання користувацьких властивостей документів Aspose.Words, використовувати Add метод, проходячи ім’я нового майна і значення відповідного типу. Спосіб повертає новостворений DocumentProperty об’єкт.

Щоб видалити спеціальні властивості, використовуйте Remove спосіб, проходячи його назву власності для видалення, або RemoveAt спосіб видалити майно за індексом. Ви також можете видалити всі властивості за допомогою Clear метод.

Наприклад, наступний код перевіряє, чи є на замовлення майно з вказаною назвою в документі і додає кілька додаткових властивостей документа:

// 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);
}

Приклад коду показує, як видалити користувацький документ:

// 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");

Оновлення вбудованих документів

Aspose.Words не автоматично оновлює властивості документів, як Microsoft Word має деякі властивості, але надає метод оновлення деяких статистичних вбудованих властивостей документа. Дзвоните до UpdateWordCount спосіб перерахувати і оновити наступні властивості:

Створити новий користувацький контент

Aspose.Words забезпечує AddLinkToContent метод створення нового користувацького документа, пов’язаного з змістом. Ця властивість повертає новостворений об’єкт нерухомості або null, якщо LinkSource недійсний.

Приклад коду показує, як налаштувати посилання на спеціальне майно:

// 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();

Отримати документ, що змінюється

Ви можете отримати збір змінних документів за допомогою Variables майно. Змінні імена і значення є рядками.

Приклад коду показує, як об’єднати змінні документу:

// 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;
}
}

Видалити персональну інформацію з документа

Якщо ви хочете поділитися документом Word з іншими людьми, ви можете видалити персональні дані, такі як ім’я автора та компанія. Для цього використовуйте RemovePersonalInformation майно для встановлення прапора, що вказує на те, що Microsoft Word Видаліть всю інформацію користувача з коментарів, ревізій та властивостей документів при збереженні документа.

Приклад коду показує, як видалити персональну інформацію:

// 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);