gpt4 book ai didi

wpf - 将 RTF 转换为 FlowDocument 的最快方法

转载 作者:行者123 更新时间:2023-12-05 06:47:14 25 4
gpt4 key购买 nike

将 RTF 转换为 FlowDocument 的最快方法是什么?我将 RTF 存储为纯字符串,然后重新加载它,我使用以下方法,

FlowDocument document = new FlowDocument();
document.SetValue(FlowDocument.TextAlignmentProperty, TextAlignment.Left);

TextRange content = new TextRange(document.ContentStart, document.ContentEnd);

if (content.CanLoad(DataFormats.Rtf) && string.IsNullOrEmpty(rtf) == false)
{
// If so then load it with RTF
byte[] valueArray = Encoding.ASCII.GetBytes(rtf);
using (MemoryStream stream = new MemoryStream(valueArray))
{
content.Load(stream, DataFormats.Rtf);
}
}

但是这个方法很慢。我需要加载许多 RTF(大约 1000 个)。有什么诀窍可以加快这个过程?还有其他方法可以加载 Flowdocument 吗?

最佳答案

您确实需要定义您实际需要的东西。 TextBlock 一点都不弱。它可以提供一些东西 ;)。

  • 颜色(背景/前景 + 您甚至可以为 TextBlock 的特定部分着色)
  • 对齐(您可以根据需要对齐 TextBlock,甚至可以对齐其中的一部分?!不确定最后一个。
  • 它有TextDecorations,这意味着它支持粗体/斜体/下划线/删除线等。
  • 字体(是的,它支持自定义字体和您想要的任何字体)

但很公平。我认为您应该存储 FlowDocument XAML 而不是实际的 RTF。这样就不会有转换,而且应该快好几倍。 (参见 DataFormats.xaml)

关于wpf - 将 RTF 转换为 FlowDocument 的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12054744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com