wiki:RTF_IMPORT_R0
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

Analysis

Overview

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

Code.

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.

TEXT_RESOURCE_RTF_R0
GROUP_PLAIN_AND_RTF_RESOURCES_R0

How to demo

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

Design

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]

Implementation

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

Testing

(Place the testing results here.)

Comments

(Write comments for this or later revisions here.)

Attachments