RTFEditorKit не возвращает правильный результат с несколькими вкладками - PullRequest
0 голосов
/ 22 февраля 2019

В настоящее время я использую RTFEditorKit для чтения файла формата RTF, однако результат не такой, как ожидалось, поскольку после анализа все вкладки не были учтены.Мой текст в формате rtf ниже:

\ paperw12240 \ paperh15840 \ margt1660 \ margb1100 \ margl1460 \ margr320 \ headery567 \ footery567 {\ pard \ fi-480 \ lin600 \ sl0 {\ f2 \ fs20 \ cf1 *} \ tab \ tx600 \ sl0 {\ f2 \ fs20 \ cf1 Это первая строка.} \ par} {\ pard \ fi-480 \ lin997 \ sl0 {\ f2 \ fs20 \ cf1 *} \ tab \ tx997 \ sl0{\ f2 \ fs20 \ cf1 Это вторая строка.} \ par} {\ pard \ fi-480 \ lin1394 \ sl0 {\ f2 \ fs20 \ cf1 *} \ tab \ tx1394 \ sl0 {\ f2 \ fs20 \ cf1Это третья строка.} \ Par} {\ pard \ fi-480 \ lin1791 \ sl0 {\ f2 \ fs30 \ cf1 *} \ tab \ tx1791 \ sl0 {\ f2 \ fs20 \ cf1 Это четвертая строка.} \par

} \ pard \ itap0 \ sl259 \ slmult1 \ sa160 \ lin120 \ rin120 \ par \ pard \ itap0 \ sl259 \ slmult1 \ sa160 \ lin120 \ rin120 {\ f3 \ fs22 \ cf1 \ par} \ pard \ itap0 \ sl259 \ slmult1 \ sa160 \ lin120 \ rin120 {* \ bkmkstart page_total_master0} {* \ bkmkend page_total_master0} {* \ bkmkstart page_total} {* \ bkmkend page_total} {\ f3 \ fs22} cf1

и код, который я использовал для чтения текста:

RTFEditorKit rtfParser = new RTFEditorKit();
        Document document = rtfParser.createDefaultDocument();
        rtfParser.read(new ByteArrayInputStream(data), document, 0);
        text = document.getText(0, document.getLength());

Результат выводится на экран:

  • Это первая строка.
  • Это чВторая строка.
  • Это третья строка.
  • Это четвертая строка.

, а ожидаемый результат должен быть:

  • (вкладка) Это первая строка.
  • (вкладка) (вкладка) Это вторая строка.
  • (вкладка) (вкладка) (вкладка) Это третья строка.
  • (вкладка) (вкладка) (вкладка) (вкладка) Это четвертая строка.

Кто-нибудь знает, что это проблема из моего формата RTF или инструмента, который яиспользуемый.Спасибо заранее.

...