Вы не должны сохранять FlowDocument напрямую, так как он должен рассматриваться как представление документа во время выполнения, а не как фактическое содержимое документа. Вместо этого используйте класс TextRange для сохранения и загрузки в различные форматы, включая Rtf .
Быстрый пример того, как создать выделение и сохранить его в потоке:
var content = new TextRange(doc.ContentStart, doc.ContentEnd);
if (content.CanSave(DataFormats.Rtf))
{
using (var stream = new MemoryStream())
{
content.Save(stream, DataFormats.Rtf);
}
}
Загрузка содержимого в выделение будет аналогичной:
var content = new TextRange(doc.ContentStart, doc.ContentEnd);
if (content.CanLoad(DataFormats.Rtf))
{
content.Load(stream, DataFormats.Rtf);
}