我正在尝试导出一个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 温和地说可能不在同一波长上。
您可能会注意到,写字板以与 Word 不同的方式显示相同的 rtf 文件。
当您保存它们时,它们还会生成非常不同的文件。
FlowDocument 也是如此 - 它可能会保存一些无法正确显示(或根本无法显示)的内容,例如写字板甚至 Word(尽管这种情况不太可能)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)