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

StackOverflow https://stackoverflow.com/questions/22346

  •  09-06-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top