¿Alguien está familiarizado con el formato de documento RTF y el análisis utilizando cualquier biblioteca de Java? La forma en que las personas normales han hecho esto es mediante el uso de la RTFEditorKit en el API Swing JDK:Análisis de documentos RTF con Java/JavaCC
pero no es preciso que cuando se trata de analizar documentos RTF. De hecho, hay un comentario en la API:
El soporte RTF no fue escrito por el equipo Swing. En el futuro esperamos mejorar el soporte provisto.
No creo que voy a esperar a que esto suceda :)
El otro enfoque adoptado es definir una gramática usando JavaCC y generar un programa de análisis. Esto funciona mejor, pero tengo problemas para encontrar una gramática completa. He intentado:
que está bien y lo siguiente (que es el mejor hasta ahora).
Koders RTFParserDelegate and ETranslate Grammar
Hay varias implementaciones de la gramática sobre eTranslate (sé la API Nutch puede utilizar este). ¿Alguien sabe cuál es la gramática más precisa o si hay un mejor enfoque para esto?
que pudiera empezar el arado a través de los documentos JavaCC para entender los archivos .jj y probarlo en contra de los archivos RTF ... este es mi enfoque actual, pero se está tomando un tiempo ... cualquier ayuda se agradece
No se puede responder a su pregunta real, pero parece que un mejor enfoque de validación (en lugar de trabajar a través de la gramática) es crear archivos de prueba y verificar que estén correctamente analizados. Sin embargo, según recuerdo, los analizadores RTF pueden ignorar cualquier construcción que no entiendan, lo que permite la compatibilidad con versiones anteriores. – kdgregory
El analizador ETranslate realmente funciona muy bien en la extracción de documentos RTF (99% del conjunto que tengo), pero no está soportado y no está disponible desde una fuente central. Trataré de obtener esto en Google Code en algún lugar ... no estoy seguro acerca de las licencias, solo necesita corregir algunos errores en términos de la gramática, creo ... – Jon
¿Hiciste algún progreso con esto? – pvgoddijn