Как извлечь / вставить текст в строку RTF в C #

В консольном приложении C # мне нужно извлечь текст из строки RTF, добавить к ней еще текст, а затем преобразовать его обратно в RTF. Мне удалось сделать это с помощью класса System.Windows.Forms.RichTextBox, но я считаю немного странным использовать элемент управления Forms в приложении, отличном от Forms. Есть лучший способ сделать это?


person adeel825    schedule 22.08.2008    source источник
comment
См. Обсуждение этой темы: https://stackoverflow.com/questions/20450/cleaning-up-rtf-text   -  person Vincent    schedule 22.08.2008


Ответы (4)


Делать что-либо с RTF довольно сложно, если вы не используете формы Windows. Как было сказано выше, проще всего использовать формы.

Вы можете написать что-нибудь самостоятельно, но спецификация RTF довольно сложна.
http://www.biblioscape.com/rtf15_spec.htm

Или вы можете использовать объект преобразования DLL / ActiveX, которого доступно большое количество. http://www.sautinsoft.com/

Или - Если вы делаете это из Linux, также доступны инструменты. Беглый взгляд вызывает UnRTF http://www.gnu.org/software/unrtf/unrtf.html

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

person seanyboy    schedule 22.08.2008

Я думаю, вам стоит просто избавиться от этого ощущения "странности". В этом нет ничего странного.

person Svend    schedule 22.08.2008

Это зависит от того, что вы имеете в виду под словом «лучше». Вы уже используете самый простой и легкий способ сделать это.

person samjudson    schedule 22.08.2008

Нет ничего плохого в использовании элемента управления пользовательского интерфейса в консольном приложении или даже в веб-приложении. Элементы управления Windows являются частью .NET Framework, с таким же успехом можно их использовать. Эти элементы управления не обязательно размещать в «формах» для работы.

Изобретать колесо заново, использовать DLL / ActiveX / OCX и Linux - это просто непрактичные ответы на ваш вопрос. Лучше всего ... делать то, что знаешь. На самом деле есть преимущество в производительности и обслуживании от использования существующих методов фреймворка, а затем от использования предлагаемых альтернатив.

person AMissico    schedule 27.08.2009