繁体   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