Después de un tiempo de prueba, publico la segunda versión estable de la librería NRtfTree, que tiene como novedades principales las siguientes:
- Optimimización de varios de los principales métodos de la librería, lo que supone una mejora sustancial del rendimiento al procesar documentos de gran tamaño.
- Nuevas propiedades para facilitar la navegación a través del árbol RTF:
- FirstChild: Primer nodo hijo.
- LastChild: Último nodo hijo.
- PreviousSibling: Nodo hermano anterior.
- NextSibling: Nodo hermano siguiente.
- Nuevos métodos de búsqueda en el árbol RTF:
- Búsqueda entre nodos hijo por palabra clave o tipo de nodo:
- SelectSingleChildNode()
- SelectChildNodes()
- SelectSingleChildNodeByType()
- SelectChildNodesByType()
- Búsqueda en profundidad [a partir de un nodo] por palabra clave o tipo de nodo:
- SelectSingleNode()
- SelectNodes()
- SelectSingleNodeByType()
- SelectNodesByType()
- Búsqueda entre nodos hijo por palabra clave o tipo de nodo:
- Nuevo método SaveRtf(), que proporciona la posibilidad de guardar a fichero [como documento de tipo *.rtf] un árbol modificado.
- Nuevos métodos para extraer de forma automática varias de las estructuras más utilizadas de la cabecera de un documento RTF:
- GetFontTable(): Tabla de fuentes del documento RTF.
- GetColorTable(): Tabla de colores del documento RTF.
- GetInfoGroup(): Propiedades del documento RTF.
- Tres nuevas clases especializadas con los métodos necesarios para facilitar el tratamiento de las imágenes contenidas en el RTF, los objetos incrustados y las tablas de propiedades del documento:
- ImageNode: Nodo especializado para imágenes.
- ObjectNode: Nodo especializado para objetos.
- InfoGroup: Tabla de propiedades del documento RTF.
- Corrección, adaptación y ampliación de la aplicación de ejemplo distribuida junto a la librería para hacer uso de las nuevas características.
Desde la página de descargas de NRtfTree podéis obtener tanto los binarios y la documentación de la librería, como los fuentes completos y la aplicación de demostración [recomiendo leer el archivo Leeme.txt incluido en el zip]. Además, aunque el código fuente se encuentra bastante comentado, recomiendo además echarle un vistazo a los dos tutoriales de uso de la librería publicados hace unos días y a los que podéis acceder a través de la página del proyecto.