Format Providers Manager
RadRichTextBox contains the DocumentFormatProvidersManager class that allows you to specify a set of format providers which can be used importing or exporting files letting the manager choose the appropriate format provider. The class also exposes methods that return all registered providers and supported file extensions.
Registering Format Providers
The DocumentFormatProvidersManager class exposes a method that allows you to register format providers. The manager has the docx, html, rtf, pdf and txt format providers registered by default through MEF. The snippet in Example 1 illustrates how to register a custom format provider. The same can be used for registering the default format providers when the MEF fails to load them automatically due to restrictions, for example.
Example 1: Register provider
DocumentFormatProvidersManager.RegisterFormatProvider(new CustomHtmlFormatProvider());
DocumentFormatProvidersManager.RegisterFormatProvider(New CustomHtmlFormatProvider())
You can also disable the automatic load of the default providers using the AutomaticallyLoadFormatProviders property. When it is set to true
, you should manually take care of registering the format providers you would like to use in the application.
Retrieve Registered Providers and Supported Extensions
The DocumentFormatProvidersManager class offers several approaches to retrieve the registered format providers. All the providers are available in the FormatProviders property. The class offers the GetProviderByName() static method that searches through the registered providers to find a provider with a specific name. Also, the manager exposes the GetProvderByExtension() method. Both are useful when you need to obtain one of the default format providers used by the UI and tweak it using the exposed settings.
Example 2: Modify default provider's settings
DocxFormatProvider docxFormatProvider = DocumentFormatProvidersManager.GetProviderByExtension("docx") as DocxFormatProvider;
docxFormatProvider.ExportSettings.FieldResultMode = FieldDisplayMode.Code;
Dim docxFormatProvider As DocxFormatProvider = TryCast(DocumentFormatProvidersManager.GetProviderByExtension("docx"), DocxFormatProvider)
docxFormatProvider.ExportSettings.FieldResultMode = FieldDisplayMode.Code
The class also contains a static method GetSupportedExtensions() that returns an IEnumeable of the currently supported file extensions.