2

FlowDocumentグリッドを含む を rtfにエクスポートしようとしています。次のコードを使用しました

using (FileStream fs = new FileStream(@"C:\demo.rtf", FileMode.OpenOrCreate, FileAccess.Write))
{
    TextRange textRange = new TextRange(doc.ContentStart, doc.ContentEnd);
    textRange.Save(fs, DataFormats.Rtf);
}

しかし、私は空白の文書を取得しています。これはどのように解決できますか?

4

1 に答える 1

0

私は最近同様の問題を抱えていましたが、犯人は

FileMode.OpenOrCreate

だったはず

FileMode.Create 

代わりは。OpenOrCreate を使用し、ファイルが既に存在し、書き込むよりも多くのコンテンツがある場合、新しいコンテンツの終了後に古いファイルが終了することになります。Word、WordPad、またはそれを開こうとしているものは何でも正しく解釈できない可能性がありますが、あなたの場合は空白のページである可能性があるものを表示しようとします.

問題の一部である可能性がある 2 つ目の問題は、それを開くために使用するビューアーと、それを書き込むために使用する FlowDocument が、控えめに言っても同じ波長ではない可能性があることです。たとえば、WordPad では、同じ rtf ファイルが Word とは異なる方法で表示されることに気付くかもしれません。また、保存すると非常に異なるファイルが生成されます。FlowDocument についても同様です。たとえば、ワードパッドや Word (可能性は低いですが) が正しく (またはまったく) 表示できないものを保存している可能性があります。

于 2014-12-10T18:32:44.180 に答える