我具有以下scala方法,旨在提取RTF字符串的内容:
def richToPlain(note: String): String = {
val metaData = new Metadata()
val handler = new BodyContentHandler()
val parser = new RTFParser()
val bytes = new ByteArrayInputStream(note.getBytes)
parser.parse(bytes, handler, metaData, new ParseContext())
handler.toString
}
在传递各种RTF字符串(例如"{\\rtf1\\ansi\\deff0 {\\fonttbl {\\f0 Times New Roman;}}\n\\f0\\fs60 Hello, World!\n}"
)时,我无法提取正确的内容。相反,解析器似乎仅返回一系列换行符(上述输入的结果将是单个换行符)。我尝试将字符集强制为UTF-8
,但这导致了相同的结果。