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

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

22.08.2008 13:30:25
5 ОТВЕТОВ
РЕШЕНИЕ

Пожалуйста, смотрите обсуждение по этой теме:

Очистка текста RTF

3
23.05.2017 11:48:37

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

0
22.08.2008 13:32:32

Делать что-либо с 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 правильно обрабатывает и форматирует текст.

1
22.08.2008 14:06:54

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

1
22.08.2008 14:11:01

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

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

0
16.10.2009 14:53:42