Получить значения свойств приложения из документа обработки текста
В этом разделе показано, как использовать классы в пакете SDK Open XML для Office для программного извлечения свойства приложения из документа Microsoft Word без загрузки документа в Word. Он содержит пример кода для иллюстрации этой задачи.
Получение свойств приложения
Чтобы получить свойства документа приложения, можно получить ExtendedFilePropertiesPart свойство WordprocessingDocument объекта, а затем получить необходимое свойство приложения. Для этого необходимо сначала получить ссылку на документ, как показано в следующем коде.
using (WordprocessingDocument document = WordprocessingDocument.Open(fileName, false))
{
При указании ссылки на WordprocessingDocument объект можно получить ссылку на ExtendedFilePropertiesPart свойство документа. Этот объект предоставляет собственные свойства, каждое из которых предоставляет одно из свойств документа приложения.
if (document.ExtendedFilePropertiesPart is null)
{
throw new ArgumentNullException("ExtendedFilePropertiesPart is null.");
}
var props = document.ExtendedFilePropertiesPart.Properties;
Получив ссылку на свойства ExtendedFilePropertiesPart, можно получить любое из свойств приложения, используя простой код, как показано в следующем примере. Обратите внимание, что код должен подтвердить, что ссылка на каждое свойство отсутствует null
Nothing
, прежде чем получить его Text
свойство. В отличие от основных свойств, свойства документа недоступны, если вы (или приложение) специально не присвоили им значение.
if (props.Company is not null)
Console.WriteLine("Company = " + props.Company.Text);
if (props.Lines is not null)
Console.WriteLine("Lines = " + props.Lines.Text);
if (props.Manager is not null)
Console.WriteLine("Manager = " + props.Manager.Text);
Пример кода
Ниже приведен полный пример кода на C# и Visual Basic.
using DocumentFormat.OpenXml.Packaging;
using System;
static void GetApplicationProperty(string fileName)
{
using (WordprocessingDocument document = WordprocessingDocument.Open(fileName, false))
{
if (document.ExtendedFilePropertiesPart is null)
{
throw new ArgumentNullException("ExtendedFilePropertiesPart is null.");
}
var props = document.ExtendedFilePropertiesPart.Properties;
if (props.Company is not null)
Console.WriteLine("Company = " + props.Company.Text);
if (props.Lines is not null)
Console.WriteLine("Lines = " + props.Lines.Text);
if (props.Manager is not null)
Console.WriteLine("Manager = " + props.Manager.Text);
}
}