Tras unos días trabajando en un pequeño proyecto para uso personal en el que utilizaba, entre otros, un control RichTextBox me he dado cuenta de que este control resulta muy útil de cara a la presentación de la aplicación pero que es muy poco efectivo, o al menos da muy pocas facilidades, a la hora de analizar o manipular el contenido RTF del texto editado.
Por este motivo me decidí a buscar algún otro control o librería sencillos que me ayudaran a realizar esta tarea. Sin embargo, tras un día de búsqueda me doy cuenta de otra cosa: o pagas por una librería para la manipulación de este tipo de documentos o tienes que ajustarte a las características específicas de algunos desarrollos libres como conversores de RTF a algún formato concreto como XML, HTML o LaTeX. No he encontrado ningún control genérico y gratuito para la manipulación de RTF, o al menos ninguno que se adaptara a mis necesidades.
Es por ésto que he acabado haciendo el mío propio y de camino he aprendido algo más sobre el formato RTF. Así nace NRtfTree.
NRtfTree es una librería de funciones escrita íntegramente en C# que permite la manipulación de documentos RTF mediante estructuras en forma de árbol, de la misma forma que se hace con el modelo DOM utilizado con lenguajes como XML.
El proyecto está aún en una fase muy temprana del desarrollo pero ya está disponible una primera versión estable, aunque con una funcionalidad relativamente limitada. Se proporciona además un programa de ejemplo que utiliza NRtfTree para convertir un documento RTF sencillo a formato HTML.
La sección de esta web dedicada a la librería NRtfTree está aún en obras, pero ya he habilitado un par de páginas con una breve introducción y una zona de descarga de la aplicación y los fuentes completos. En los próximos días estará también disponible un pequeño tutorial de uso de las librerías y algún otro ejemplo de aplicación documentado.
Podeis acceder a la sección del proyecto NRtfTree a través de la sección de proyectos del menú superior o pulsando aquí.
Espero que os sea útil.