Using RtfFormatProvider

RtfFormatProvider makes it easy to import and export RadDocument to/from RTF format, preserving the entire document structure and formatting.

All you have to do in order to use RtfFormatProvider is to add references to:

  • Telerik.Windows.Documents.FormatProviders.Rtf.dll

Import

In order to import an RTF document, you need to use the Import() method of RtfFormatProvider.

The code from Example 1 shows how to use RtfFormatProvider to import an RTF document from a file.

Example 1: Import document from a file

RtfFormatProvider provider = new RtfFormatProvider(); 
using (Stream input = File.OpenRead("Sample.rtf")) 
{ 
    RadDocument document = provider.Import(input); 
} 
And here is how you can import a document from string containing the RTF document:

Example 2: Import document from a string

RtfFormatProvider provider = new RtfFormatProvider(); 
RadDocument document = provider.Import(input); 
The resulting RadDocument can be used like any code-generated document.

Export

In order to export a document to RTF, you need to use the Export() method of RtfFormatProvider.

Example 3 shows how to use RtfFormatProvider to export RadDocument to a file.

Example 3: Export a document to a file

RtfFormatProvider provider = new RtfFormatProvider(); 
using (Stream output = File.Create("sample.rtf")) 
{ 
    RadDocument document = CreateRadDocument(); 
    provider.Export(document, output); 
} 
You can also export the document to a string and preserve it in a database.

Example 4: Export a document to a string

RtfFormatProvider provider = new RtfFormatProvider(); 
RadDocument document = CreateRadDocument(); 
string output = provider.Export(document); 
The resulting documents can be opened in any application that supports RTF documents.

However, the format providers cannot be used in XAML and you have to implement a logic that will call their Import() and Export() methods. This is something that you might not want to be concerned with when using RadRichTextBox in a data bound scenarios. For such cases, the DataProvider classes are used. They wrap the FormatProviders' functionality and allow its usage in XAML.

See Also

In this article
Not finding the help you need? Improve this article