Skip to main content
A newer version of this page is available. .
.NET Framework 4.5.2+

SubDocument.GetHtmlText(DocumentRange, IUriProvider, HtmlDocumentExporterOptions) Method

Gets the text contained in the specified range in HTML format.

Namespace: DevExpress.XtraRichEdit.API.Native

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

Declaration

string GetHtmlText(
    DocumentRange range,
    IUriProvider provider,
    HtmlDocumentExporterOptions options
)

Parameters

Name Type Description
range DocumentRange

A DocumentRange object that is the text range in the document.

provider IUriProvider

A class that implements the IUriProvider interface and provides methods which return URI for images and CSS data.

options HtmlDocumentExporterOptions

A HtmlDocumentExporterOptions instance containing various options.

Returns

Type Description
String

A string of text in HTML format.

Remarks

If the provider parameter is set to null, the method uses a default DataStringUriProvider that embeds images as base64-encoded data. In this situation the options parameter is disregarded.

If you operate with a selection, enclose the GetHtmlText method within a DocumentRange.BeginUpdateDocument - DocumentRange.EndUpdateDocument method pair. Otherwise, you may get an error “Specified document position or range belongs to other document or subdocument“.

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.

Example

This example demonstrates how to use the DocumentImage.Uri property to set the image’s src attribute when a document is saved in HTML format. You can switch on the HtmlDocumentExporterOptions.EmbedImages option to observe that the custom URI provider is idle for embedded images.

Note

The complete sample project How to retain the original image URI in an HTML document is available in the DevExpress Examples repository.

using DevExpress.Office.Services;
using DevExpress.XtraRichEdit.API.Native;
using DevExpress.XtraRichEdit.Export;
using System;
// ...
        private void richEditControl1_DocumentLoaded(object sender, EventArgs e)
        {
            IUriProviderService service = richEditControl1.GetService<IUriProviderService>();
            if (service != null) {
                service.RegisterProvider(new CustomUriProvider());
            }
        }
        private void richEditControl1_ContentChanged(object sender, EventArgs e)
        {
            ReloadHtml();
        }

        private void ReloadHtml()
        {
            HtmlDocumentExporterOptions exportOptions = new HtmlDocumentExporterOptions();
            exportOptions.EmbedImages = embedImagesCheck.Checked;
            string sText = richEditControl1.Document.GetHtmlText(richEditControl1.Document.Range, new CustomUriProvider(), exportOptions);
            memoEdit1.Text = sText;
        }

The following code snippets (auto-collected from DevExpress Examples) contain references to the GetHtmlText(DocumentRange, IUriProvider, HtmlDocumentExporterOptions) method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also