New to Telerik Document ProcessingStart a free 30-day trial

Using DocxFormatProvider

Updated on Jun 16, 2026

DOCX, a part of Office Open XML, is a zipped, XML-based file format developed by Microsoft for representing word processing documents. RadWordsProcessing supports this format. DOCX is the default target format for Microsoft Word starting with Microsoft Office 2007.

DocxFormatProvider is compliant with the latest Office Open XML standard—ECMA-376 4th edition, December 2012.

DocxFormatProvider allows you to import and export a RadFlowDocument to/from DOCX format. The provider preserves the entire document structure and formatting.

To use DocxFormatProvider, add references to the following packages:

  • Telerik.Windows.Documents.Core
  • Telerik.Windows.Documents.Flow

Starting with Q2 2025 the Zip Library is no longer used as an internal dependency in the rest of the Document Processing Libraries—PdfProcessing, WordsProcessing, SpreadProcessing, SpreadStreamProcessing. It is replaced by System.IO.Compression. The Telerik Zip Library continues to ship as a standalone library so you can still use it separately.

Import

To import a DOCX document, use the Import() method of DocxFormatProvider.

The following code shows how to use DocxFormatProvider to import a DOCX document from a file.

Example 1: Import document from a file

C#
Telerik.Windows.Documents.Flow.Model.RadFlowDocument document;

Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider();

using (Stream input = File.OpenRead("Sample.docx"))
{
    document = provider.Import(input, TimeSpan.FromSeconds(10));
}

You can also import a document from a byte array containing the DOCX document:

Example 2: Import document from a byte array

C#
Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider();
byte[] input = File.ReadAllBytes("Sample.docx");
Telerik.Windows.Documents.Flow.Model.RadFlowDocument document = provider.Import(input, TimeSpan.FromSeconds(10));

The resulting RadFlowDocument can be manipulated like any code-generated document.

Export

To export a document to DOCX, use the Export() method of DocxFormatProvider.

The following code shows how to use DocxFormatProvider to export a RadFlowDocument to a file.

Example 3: Export a document to a file

C#
Telerik.Windows.Documents.Flow.Model.RadFlowDocument document;

Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider();

using (Stream output = File.OpenWrite("Sample.docx"))
{
    document = CreateRadFlowDocument(); // CreateRadFlowDocument() is a custom method that creates a simple instance of RadFlowDocument. You can replace it with the instance you would like to export.

    provider.Export(document, output, TimeSpan.FromSeconds(10));
}

You can also export the document to a byte array and preserve it in a database.

Example 4: Export a document to a byte array

C#
Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider();

Telerik.Windows.Documents.Flow.Model.RadFlowDocument document = CreateRadFlowDocument(); // CreateRadFlowDocument() is a custom method that creates a simple instance of RadFlowDocument. You can replace it with the instance you would like to export.

byte[] output = provider.Export(document, TimeSpan.FromSeconds(10));

The resulting documents can be opened in any application that supports DOCX documents.

See Also

In this article
ImportExportSee Also
Not finding the help you need?
Contact Support