我有一个.rtf
文件,我需要在JavaFX GUI中显示。
我的研究表明JavaFX TextFlow支持rich text through a tree of Node objects。但是,我对如何将.rtf
文件表示为此节点树感到茫然。
我觉得应该有一种直观的方法将.rtf
文件解析到Node树中,但我似乎无法找到方法来实现它!
答案 0 :(得分:1)
在TextFlow中解析RTF和渲染
您可以解析rtf并生成它的TextFlow表示(类似于此markdown editor用于降价标记)。我相信这对你来说是一项艰巨的任务(RTF 1.9.1 specification长达277页)。描述如何做到这一点对于StackOverflow答案来说太长而且复杂(即使我可以描述它,我可能不会这样做。)
将RTF转换为JavaFX格式可以更轻松地呈现
我建议使用转换器(离线或使用在线服务)将RTF转换为其他格式,然后再尝试在JavaFX中呈现它。如果您事先知道这些文件,您可以在运送申请之前进行预转换,如果您没有,那么您必须在申请时提供实时转换设施。我不会推荐特定服务,但您可以谷歌并对RTF转换进行一些研究,看看是否有适合的服务。作为目标格式,您可以选择PDF或HTML,或图像(例如PNG)。
JavaFX将原生显示: