Pergunta

Em um aplicativo de console C#, preciso extrair o texto de uma string RTF, adicionar mais texto a ela e convertê-lo novamente em RTF.Consegui fazer isso usando a classe System.Windows.Forms.RichTextBox, mas acho um pouco estranho usar um controle Forms em um aplicativo que não seja Forms.Alguma maneira melhor de fazer isso?

Foi útil?

Solução

Por favor, veja a discussão sobre este tópico:

Limpando texto RTF

Outras dicas

Fazer qualquer coisa com RTF é muito difícil, a menos que você esteja usando os formulários do Windows.Conforme afirmado acima, usar formulários é a maneira mais fácil de fazer isso.

Você mesmo poderia escrever algo, mas a especificação RTF é bastante complicada.
http://www.biblioscape.com/rtf15_spec.htm

Ou você pode usar um objeto de conversão DLL/ActiveX do qual há um grande número disponível.http://www.sautinsoft.com/

Ou - Se você estiver fazendo isso no Linux, também existem ferramentas disponíveis.Uma rápida olhada revela UnRTFhttp://www.gnu.org/software/unrtf/unrtf.html

Não incluí coisas para retornar o texto para RTF porque acho que a especificação RTF trata e formata o texto corretamente.

Eu acho que você deveria apenas se livrar desse sentimento de “estranho”.Não há nada de estranho nisso.

Depende do que você entende por 'melhor'.Você já está usando a maneira mais simples e fácil de fazer isso.

Não há nada de errado em usar um controle de interface de usuário em um aplicativo de console ou mesmo em um aplicativo web.Os controles do Windows fazem parte do .NET Framework, você também pode usá-los.Esses controles não precisam estar hospedados em “formulários” para funcionar.

Reinventar a roda, usar DLL/ActiveX/OCX e usar Linux simplesmente não são respostas práticas para sua pergunta.A melhor maneira é... fazer o que você sabe.Na verdade, há um benefício de desempenho e manutenção em usar métodos de estrutura existentes e depois usar as alternativas sugeridas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top