.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+

SubDocument.GetOpenXmlBytes(DocumentRange) Method

Exports the content of the specified document range as a document in Office Open XML (Docx) format and returns a byte array with this document.

Namespace: DevExpress.XtraRichEdit.API.Native

Assembly: DevExpress.RichEdit.v21.1.Core.dll


byte[] GetOpenXmlBytes(
    DocumentRange range


Name Type Description
range DocumentRange

A DocumentRange object representing the range to convert to OpenXML.


Type Description

An array of bytes that is the document content in OpenXML format.


You can specify export options via the RichEditDocumentExportOptions.OpenXml property in the RichEditControl.BeforeExport event handler or use another GetOpenXmlBytes method overload.

If you operate with a selection range, the GetOpenXmlBytes method should be enclosed within a DocumentRange.BeginUpdateDocument - DocumentRange.EndUpdateDocument method pair. Otherwise, an incorrect document model might be selected, resulting in an exception “Error: specified document position or range belongs to other document or subdocument” being thrown.

To retrieve the section settings, make sure that the range contains the last section’s paragraph. Otherwise, the section settings are reset to the default.


This code snippet illustrates how to export the selected range to the string in DOCX (OpenXML) format.

 if (this.richEditControl.Document.Selection.Length > 0) 
                    DevExpress.XtraRichEdit.API.Native.DocumentRange selection = richEditControl.Document.Selection;
                    DevExpress.XtraRichEdit.API.Native.SubDocument doc = selection.BeginUpdateDocument();
                    bytes = doc.GetOpenXmlBytes(selection);
                    bytes = richEditControl.Document.GetOpenXmlBytes(richEditControl.Document.Range);
See Also