2015-02-16 3 views
0

Я хотел бы получить строку, которая содержит форматированный текст связанного документа (файл, связанный с артефактом).Получить текст связанного документа

Возможно ли использование API API (C#)?

+0

Следует отметить, что в случае «связанного документа» документ хранится в базе данных EA, это фактически не ссылка на внешний файл. – Uffe

ответ

3

Если вы имеете в виду внутренний «связанный документ», вы можете использовать EA.Element.GetLinkedDocument(), который вернет вам строку RTF.

Если вы имеете в виду внешний файл, связанный с вашим элементом, тогда вам нужно будет открыть его самостоятельно в своем коде на основе пути. Проверить EA.Element.Files

+0

Как отмечает Geert, GetLinkedDocument() возвращает RTF-данные, которые находятся в текстовом формате, но RTF-закодированы. Чтобы преобразовать в обычный текст, формат внутренней разметки HTML или Sparx, посмотрите на Repository.GetFormatFromField(). Не уверен, что это будет делать с такими вещами, как встроенные изображения в данных RTF, но по крайней мере позволит вам получить текст. – Uffe

+0

@ Уфф, Большое спасибо. Я пытаюсь использовать метод, который вы предлагаете, но все еще получая форматированный текст. Есть идеи? 'string text = Repository.GetFormatFromField (" TXT ", element.GetLinkedDocument());' – user3165438

+0

Я бы использовал некоторую стандартную библиотеку RTF для интерпретации RTF-кода и получения простого текста. –

Смежные вопросы