All docs
V20.2
20.2
20.1
The page you are viewing does not exist in version 20.1. This link will take you to the root page.
19.2
The page you are viewing does not exist in version 19.2. This link will take you to the root page.
19.1
The page you are viewing does not exist in version 19.1. This link will take you to the root page.
18.2
The page you are viewing does not exist in version 18.2. This link will take you to the root page.
18.1
The page you are viewing does not exist in version 18.1. This link will take you to the root page.
17.2
The page you are viewing does not exist in version 17.2. This link will take you to the root page.
.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+

SubDocument.GetDotmBytes(DocumentRange, DotmDocumentExporterOptions) Method

Exports the range content in DOTM (Microsoft Office Open XML Macro-Enabled Template) format and returns a byte array with this content.

Namespace: DevExpress.XtraRichEdit.API.Native

Assembly: DevExpress.RichEdit.v20.2.Core.dll

Declaration

byte[] GetDotmBytes(
    DocumentRange range,
    DotmDocumentExporterOptions options
)
Function GetDotmBytes(
    range As DocumentRange,
    options As DotmDocumentExporterOptions
) As Byte()

Parameters

Name Type Description
range DocumentRange

The range to convert to DOTM format.

options DotmDocumentExporterOptions

An object that contains export options.

Returns

Type Description
Byte[]

The range content in DOTM format.

Remarks

If you work with a selection range, make sure that the GetDotmBytes method is enclosed with the DocumentRange.BeginUpdateDocument - DocumentRange.EndUpdateDocument method pair. Otherwise, an incorrect document model might be selected, and the "Error: specified document position or range belongs to other document or subdocument" exception is thrown.

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

using (RichEditDocumentServer wordProcessor = new RichEditDocumentServer())
{
    wordProcessor.LoadDocument("FirstLook.docx");
    Document document = wordProcessor.Document;
    DotmDocumentExporterOptions exportOptions = wordProcessor.Options.Export.Dotm;
    exportOptions.ExportedDocumentProperties = DocumentPropertyNames.None;
    byte[] bytes = document.GetDotmBytes(document.Range, exportOptions);
    File.WriteAllBytes(@"D:\testdoc.dotm", bytes);
}
See Also