Lotus Notes: элемент RichText

Хорошо, вот сделка. Я использую C# с Domino API. У меня есть некоторые расширенные текстовые данные, которые я хочу вставить в поле расширенного текста заметок лотоса.

  1. NotesDocument.ReplaceItemValue просто вставляет текст без форматирования.
  2. NotesDocument.CreateRichTextItem предоставляет мне объект NotesRichTextItem, который я могу использовать для создания RichText вручную (такие методы, как AddNewLine() AddPageBreak() и т. Д.). Но у него нет какого-либо метода Parse для получения уже отформатированных данных форматированного текста, что мне и нужно. Я хочу, чтобы мои пользователи помещали туда все, что они хотят, поэтому использование вышеупомянутых методов для меня бесполезно.
  3. Объект NotesRichTextItem.Values ​​выдает ошибку, когда я пытаюсь добавить строку в формате расширенного текста.

Итак, что мне делать? Я думаю, что я в значительной степени облажался, но надеюсь, что какой-нибудь гений найдет решение. Любая помощь высоко ценится.

Спасибо, парни!

PS - вставка примечаний форматированных текстовых данных или данных HTML будет в порядке. Любой из них будет так же хорош, если он отображает в документе правильный форматированный текст, а не неформатированную строку.

3 ответа

Ну, я нашел ответ - это не красиво, но работает! Что я сделал

  1. Используйте экспортер DXL, чтобы получить XML
  2. отредактируйте его (добавив форматированный текст), а затем
  3. Удалить оригинальный документ
  4. Используйте импортер DXL для импорта отредактированного документа

Вуаля!:-D

В любом случае, спасибо за такой быстрый ответ:-)

Не зная деталей вашего заявления, я не уверен, что этого будет достаточно. Но вы можете хранить HTML как текст в поле расширенного текста Notes, а затем в приложении Notes отображать это поле как "сквозной HTML". Недостатком является то, что вы не сможете выполнять последующее редактирование из клиента Notes. Кроме того, движок рендеринга HTML в клиенте Notes довольно слабый, поэтому вы не сможете достичь почти полной точности.

Если это не отвечает вашим потребностям, вы всегда можете использовать API Notes C (а не COM/API, который вы используете). API более низкого уровня позволяет вставлять что-либо в поле расширенного текста, но вам нужно будет написать анализатор / преобразователь самостоятельно. Поиск записей составных данных (CD).

Вот ссылка на сайт API: http://www14.software.ibm.com/webapp/download/nochargesearch.jsp?k=ALL&status=Active&q=Lotus+%22C+API%22

Разве API не предоставляет вам доступ к различным классам форматированного текста? Возможно, они могли бы помочь? Например, есть классы для NotesRichTextStyle, NotesRichTextNavigator, NotesRichTextSection, NotesRichText, и так далее и тому подобное.

Другие вопросы по тегам