从 RTF 字节数组获取超链接
Get hyperlinks from RTF byte array
我有一个表示 RTF 格式的字节数组。我只想从中提取超链接。我可以使用以下方法提取纯文本(但格式丢失):
Flowdocument doc = new FlowDocument();
TextRange r = new TextRange(doc.ContentStart, doc.ContentEnd);
r.Load(stream, System.Windows.DataFormats.XamlPackage); // stream is MemoryStream. r.Text is the plain text
可以在 Flowdocument 中找到所需的数据,这是有助于检索它的代码的一般概念:
foreach (Block block in doc.Blocks)
{
Paragraph p = block as Paragraph;
foreach (Inline inline in p.Inlines)
{
Hyperlink h = inline as Hyperlink;
}
}
也许可以按照@TheGeneral 的建议通过 RegEx 消除迭代。我确实找到了 this link 包含这样一个 RegEx。
我有一个表示 RTF 格式的字节数组。我只想从中提取超链接。我可以使用以下方法提取纯文本(但格式丢失):
Flowdocument doc = new FlowDocument();
TextRange r = new TextRange(doc.ContentStart, doc.ContentEnd);
r.Load(stream, System.Windows.DataFormats.XamlPackage); // stream is MemoryStream. r.Text is the plain text
可以在 Flowdocument 中找到所需的数据,这是有助于检索它的代码的一般概念:
foreach (Block block in doc.Blocks)
{
Paragraph p = block as Paragraph;
foreach (Inline inline in p.Inlines)
{
Hyperlink h = inline as Hyperlink;
}
}
也许可以按照@TheGeneral 的建议通过 RegEx 消除迭代。我确实找到了 this link 包含这样一个 RegEx。