C# 获取链接文档的文本

C# 获取链接文档的文本,c#,api,enterprise-architect,C#,Api,Enterprise Architect,我想得到一个字符串,其中包含链接文档(链接到工件的文件)的格式化文本 是否可以使用EA API(C#)?如果您指的是内部“链接文档”,那么可以使用EA.Element.GetLinkedDocument(),它将返回RTF字符串 如果您指的是链接到元素的外部文件,那么您需要根据路径在代码中自己打开它。 选中EA.Element.Files如果您指的是内部“链接文档”,则可以使用EA.Element.GetLinkedDocument(),它将返回RTF字符串 如果您指的是链接到元素的外部文件,那

我想得到一个字符串,其中包含链接文档(链接到工件的文件)的格式化文本

是否可以使用EA API(C#)?

如果您指的是内部“链接文档”,那么可以使用
EA.Element.GetLinkedDocument()
,它将返回RTF字符串

如果您指的是链接到元素的外部文件,那么您需要根据路径在代码中自己打开它。 选中
EA.Element.Files

如果您指的是内部“链接文档”,则可以使用
EA.Element.GetLinkedDocument()
,它将返回RTF字符串

如果您指的是链接到元素的外部文件,那么您需要根据路径在代码中自己打开它。 选中
EA.Element.Files

如果您指的是内部“链接文档”,则可以使用
EA.Element.GetLinkedDocument()
,它将返回RTF字符串

如果您指的是链接到元素的外部文件,那么您需要根据路径在代码中自己打开它。 选中
EA.Element.Files

如果您指的是内部“链接文档”,则可以使用
EA.Element.GetLinkedDocument()
,它将返回RTF字符串

如果您指的是链接到元素的外部文件,那么您需要根据路径在代码中自己打开它。

检查
EA.Element.Files

应该注意的是,如果是“链接文档”,文档存储在EA数据库中,实际上不是指向外部文件的链接。应该注意的是,如果是“链接文档”,文档存储在EA数据库中,它实际上不是指向外部文件的链接。应该注意的是,如果是“链接文档”,文档存储在EA数据库中,它实际上不是指向外部文件的链接。应该注意的是,如果是“链接文档”,文档存储在EA数据库中,它实际上不是指向外部文件的链接。正如Geert所指出的,GetLinkedDocument()返回RTF数据,该数据为文本格式,但经过RTF编码。要转换为纯文本、HTML或Sparx的内部标记格式,请查看Repository.GetFormatFromField()。不确定这对RTF数据中的嵌入图像之类的东西有什么作用,但它至少应该允许您将文本输出。@Uffe,非常感谢。我尝试使用你建议的方法,但仍然得到格式化的文本。有什么想法吗<代码>字符串文本=Repository.GetFormatFromField(“TXT”,element.GetLinkedDocument())我将使用某种标准RTF库来解释RTF代码并获取纯文本。我相信您需要执行两个步骤:首先使用Repository.GetFieldFromFormat()将其转换为Sparx的标记,然后如上所述将其转换为纯文本。因此,您将得到类似于
string text=Repository.GetFormatFromField(“TXT”,Repository.GetFieldFromFormat(“RTF”,element.GetLinkedDocument()))但是对于任何比非常简单的文档更重要的东西,使用专用的RTF库确实会更好。@Uffe,非常感谢!添加的代码将RTF转换为简单文本。还有一件事:链接的文档文本是用标题格式化的。当我将其转换为TXT时,标题将替换为普通文本。有可能把它回滚吗?(我想使用InsertText()API将此文本插入Word文档)作为Geert注释,GetLinkedDocument()返回RTF数据,该数据为文本格式,但经过RTF编码。要转换为纯文本、HTML或Sparx的内部标记格式,请查看Repository.GetFormatFromField()。不确定这对RTF数据中的嵌入图像之类的东西有什么作用,但它至少应该允许您将文本输出。@Uffe,非常感谢。我尝试使用你建议的方法,但仍然得到格式化的文本。有什么想法吗<代码>字符串文本=Repository.GetFormatFromField(“TXT”,element.GetLinkedDocument())我将使用某种标准RTF库来解释RTF代码并获取纯文本。我相信您需要执行两个步骤:首先使用Repository.GetFieldFromFormat()将其转换为Sparx的标记,然后如上所述将其转换为纯文本。因此,您将得到类似于
string text=Repository.GetFormatFromField(“TXT”,Repository.GetFieldFromFormat(“RTF”,element.GetLinkedDocument()))但是对于任何比非常简单的文档更重要的东西,使用专用的RTF库确实会更好。@Uffe,非常感谢!添加的代码将RTF转换为简单文本。还有一件事:链接的文档文本是用标题格式化的。当我将其转换为TXT时,标题将替换为普通文本。有可能把它回滚吗?(我想使用InsertText()API将此文本插入Word文档)作为Geert注释,GetLinkedDocument()返回RTF数据,该数据为文本格式,但经过RTF编码。要转换为纯文本、HTML或Sparx的内部标记格式,请查看Repository.GetFormatFromField()。不确定这对RTF数据中的嵌入图像之类的东西有什么作用,但它至少应该允许您将文本输出。@Uffe,非常感谢。我尝试使用你建议的方法,但仍然得到格式化的文本。有什么想法吗<代码>字符串文本=Repository.GetFormatFromField(“TXT”,element.GetLinkedDocument())我将使用某种标准RTF库来解释RTF代码并获取纯文本。我相信您需要执行两个步骤:首先使用Repository.GetFieldFromFormat()将其转换为Sparx的标记,然后如上所述将其转换为纯文本。因此,您将得到类似于
string text=Repository.GetFormatFromField(“TXT”,Repository.GetFieldFromFormat(“RTF”,element.GetLinkedDocument()))但是对于任何比非常简单的文档更重要的东西,使用专用的RTF库确实会更好。@Uffe,非常感谢!添加的代码将RTF转换为简单文本。还有一件事:链接的文档文本是格式化的