Last modified 10 years ago Last modified on 10/28/09 12:05:33

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=RTF_IMPORT_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block



Improve RTF import so it supports text with style

Task requirements

  • Preserve the following things when importing RTF
    • Font (if present, else a default font
    • Font style
      • size
      • foreground color
  • Do not import other content (other than text)
  • Optional - preserve paragraph options if possible

Task result


Implementation idea

Use the attached rtf-s to ensure the style is preserved.

Use javax.swing.text.rtf.RTFEditorKit class in order to read the document and to "translate" the rtf document to styled document. Not all of the styles saved in rtf are translated in the document and that's why the background color and the strike-through won't be preserved.


How to demo

Create an empty book and insert a rtf with text styling.


In ApplyRtfStylesUtility class add ImmMap<String, HotAttr<?>> rtfMap in order to hodld all the rtf tags and the corresponding CommonAttributes to them. Add some new tags in order to have a better importing of the rtf documents(space below,space above). Fix the logic of the applyStyles function to work with the ImmHotText(the previous text was mutable - now it is immutable).

The new test can be found here: [7828][7829]


Done according to the design. source code:[7828][7829][7869]


(Place the testing results here.)


(Write comments for this or later revisions here.)