簡體   English   中英

將帶有UIElement的FlowDocument導出到rtf

[英]Export FlowDocument with UIElement to rtf

我正在嘗試將包含網格的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);
}

但是我得到一個空白文件。 如何解決呢?

我最近有一個類似的問題,罪魁禍首是

FileMode.OpenOrCreate

應該是

FileMode.Create 

代替。 當您使用OpenOrCreate且文件已經存在並且具有比寫入文件更多的內容時,您將在新內容結束之后以舊文件結尾。 Word或寫字板或嘗試打開它的任何內容可能無法正確解釋,但會嘗試向您顯示它可能會出現的情況,這可能是空白頁。

可能是問題的一部分,第二個問題是您用來打開它的查看器和您用來編寫它的FlowDocument可能不在同一波長上。 您可能會注意到,例如寫字板顯示的同一rtf文件與Word顯示的不同。 當您保存它們時,它們還會產生非常不同的文件。 FlowDocument也是如此-可能正在保存某些東西,例如寫字板或Word(盡管可能性較小)無法正確顯示(或根本無法顯示)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM