Skip to main content
All docs
V24.2

RichEditDocumentServerExtensions.LoadDocumentProperties(RichEditDocumentServer, String) Method

Loads metadata (document properties) of a document from the specified file. The document format is determined automatically.

Namespace: DevExpress.XtraRichEdit

Assembly: DevExpress.Docs.v24.2.dll

NuGet Package: DevExpress.Document.Processor

Declaration

public static ReadOnlyDocumentProperties LoadDocumentProperties(
    this RichEditDocumentServer self,
    string fileName
)

Parameters

Name Type Description
self RichEditDocumentServer

The current RichEditDocumentServer instance.

fileName String

A path to the document which metadata should be loaded.

Returns

Type Description
ReadOnlyDocumentProperties

A collection of document properties.

Remarks

Important

The RichEditDocumentServerExtensions class is defined in the DevExpress.Docs.v24.2.dll assembly. Add this assembly to your project to use the RichEditDocumentServerExtensions members. You need a license for the DevExpress Office File API Subscription or DevExpress Universal Subscription to use this library in production code.

Use this method to load document properties without loading the document itself. Refer to the following help topic for a list of supported document properties in different formats: How to: Specify Document Properties.

Note

The RichEditDocumentServer loads the document properties of the WordML and RTF files only if the metadata is located before the document body.

The code sample below loads the document properties and sorts files by their modification date:

using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
using System;
using System.IO;
using System.Diagnostics;

static void Main(string[] args)
{
    DirectoryInfo directoryInfo = 
    new DirectoryInfo(@"C:\Users\Public\Documents\DevExpress Demos 24.2\Components\Data");
    FileInfo[] files = directoryInfo.GetFiles("*.docx");
    if (directoryInfo.Exists)
    {
        foreach (FileInfo file in files)
        {
            SortDocuments(file);
        }
        Process.Start("explorer.exe", @"C:\Documents");
    }
}

static void SortDocuments(FileInfo file)
{
  using (RichEditDocumentServer wordProcessor = new RichEditDocumentServer())
  {
    //Load the metadata from the specified document:
    ReadOnlyDocumentProperties docProperties = 
    wordProcessor.LoadDocumentProperties(File.OpenRead(file.FullName));
    DateTime date = docProperties.BuiltIn.Modified;

    //Check the year the document was last modified,
    //And copy the file to the corresponding folder:
    switch (date.Year)
    {
        case 2017:
            string destFolder = "C://Documents//2017";
            CreateDirectory(destFolder);
            file.CopyTo(Path.Combine(destFolder, file.Name), true);
            break;
        case 2018:
            destFolder = "C://Documents//2018";
            CreateDirectory(destFolder);
            file.CopyTo(Path.Combine(destFolder, file.Name), true);
            break;
        case 2019:
            destFolder = "C://Documents//2019";
            CreateDirectory(destFolder);
            file.CopyTo(Path.Combine(destFolder, file.Name), true);
            break;
        case 2020:
            destFolder = "C://Documents//2020";
            CreateDirectory(destFolder);
            file.CopyTo(Path.Combine(destFolder, file.Name), true);
            break;
    }
  }
}

static void CreateDirectory(string path)
{
    if (!Directory.Exists(path))
        Directory.CreateDirectory(path);
}
See Also