Как извлечь / вставить текст в строку RTF в C # - PullRequest
4 голосов
/ 22 августа 2008

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

Ответы [ 5 ]

3 голосов
/ 22 августа 2008

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

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

1 голос
/ 22 августа 2008

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

1 голос
/ 22 августа 2008

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

0 голосов
/ 27 августа 2009

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

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

0 голосов
/ 22 августа 2008

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

...