Skip to main content

HtmlDocumentExporterOptions.EmbedImages Property

Specifies whether images are embedded in an HTML document.

Namespace: DevExpress.XtraRichEdit.Export

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

NuGet Packages: DevExpress.RichEdit.Core, DevExpress.Win.Navigation

Declaration

[DefaultValue(false)]
public virtual bool EmbedImages { get; set; }

Property Value

Type Default Description
Boolean false

true to embed images in a page; otherwise, false.

Property Paths

You can access this nested property as listed below:

Object Type Path to EmbedImages
RichEditDocumentExportOptions
.Html .EmbedImages

Remarks

Use the EmbedImages property to specify whether images should be embedded into a page, or stored externally. Embedded images in the HTML document are stored in base64 encoding.

Note

There are situations when the EmbedImages setting is disregarded. The SubDocument.GetHtmlText method with unspecified IUriProvider instance (set to null), Document.HtmlText and RichEditDocumentServer.HtmlText properties always return HTML string with embedded images.

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.

View Example: Retain the Original Image URI in an HTML Document

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;
        }
using DevExpress.Office.Services;
using DevExpress.Office.Utils;
using System;
// ...
     public class CustomUriProvider : IUriProvider
     {
        public string CreateCssUri(string rootUri, string styleText, string relativeUri)
        {
            return String.Empty;
        }

        public string CreateImageUri(string rootUri, OfficeImage image, string relativeUri)
        {
            return image.Uri;
        }
    }

The following code snippets (auto-collected from DevExpress Examples) contain references to the EmbedImages property.

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