Using RtfFormatProvider
RtfFormatProvider makes it easy to import and export RadFlowDocument to/from RTF format, preserving the entire document structure and formatting.
All you have to do in order to use RtfFormatProvider is add references to the assemblies listed below:
- Telerik.Windows.Documents.Core.dll
- Telerik.Windows.Documents.Flow.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
Telerik.Windows.Documents.Flow.Model.RadFlowDocument document;
Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider();
using (Stream input = File.OpenRead("Sample.rtf"))
{
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
Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider();
Telerik.Windows.Documents.Flow.Model.RadFlowDocument document = provider.Import(input);
The resulting RadFlowDocument 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 RadFlowDocument to a file.
Example 3: Export a document to a file
Telerik.Windows.Documents.Flow.Model.RadFlowDocument document;
Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider();
using (Stream output = File.Create("sample.rtf"))
{
document = CreateRadFlowDocument();
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
Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider();
Telerik.Windows.Documents.Flow.Model.RadFlowDocument document = CreateRadFlowDocument();
string output = provider.Export(document);
The resulting documents can be opened in any application that supports RTF documents.