com.lowagie.text.rtf.parser

Class RtfImportMgr

public class RtfImportMgr extends Object

The RtfImportHeader stores the document header information from an RTF document that is being imported. Currently font and color settings are stored. The RtfImportHeader maintains a mapping from font and color numbers from the imported RTF document to the RTF document that is the target of the import. This guarantees that the merged document has the correct font and color settings. It also handles other list based items that need mapping, for example stylesheets and lists.

Since: 2.1.0

Author: Mark Hall (Mark.Hall@mail.room3b.eu) Howard Shank (hgshank@yahoo.com)

Field Summary
Documentdoc
The Document.
HashMapimportColorMapping
The HashMap storing the color number mappings.
HashMapimportFontMapping
The HashMap storing the font number mappings.
HashMapimportListMapping
The HashMap storing the List number mappings.
HashMapimportStylesheetListMapping
The HashMap storing the Stylesheet List number mappings.
RtfDocumentrtfDoc
The RtfDocument to get font and color numbers from.
Constructor Summary
RtfImportMgr(RtfDocument rtfDoc, Document doc)
Constructs a new RtfImportHeader.
Method Summary
voidimportColor(String colorNr, Color color)
Imports a color value.
booleanimportFont(String fontNr, String fontName)
Imports a font.
booleanimportFont(String fontNr, String fontName, int charset)
Imports a font.
booleanimportFont(String fontNr, String fontName, String fontFamily, int charset)
Imports a font.
voidimportList(String origListNr, String newListNr)
Imports a List value.
booleanimportStylesheetList(String listNr, List listIn)
Imports a stylesheet list value.
StringmapColorNr(String colorNr)
Performs the mapping from the original font number to the actual font number used in the RTF document.
StringmapFontNr(String fontNr)
Performs the mapping from the original font number to the actual font number in the resulting RTF document.
StringmapListNr(String listNr)
Performs the mapping from the original list number to the actual list number in the resulting RTF document.
StringmapStylesheetListNr(String listNr)
Performs the mapping from the original stylesheet number to the actual stylesheet number in the resulting RTF document.

Field Detail

doc

private Document doc
The Document. Used for conversions, but not imports.

importColorMapping

private HashMap importColorMapping
The HashMap storing the color number mappings.

importFontMapping

private HashMap importFontMapping
The HashMap storing the font number mappings.

importListMapping

private HashMap importListMapping
The HashMap storing the List number mappings.

importStylesheetListMapping

private HashMap importStylesheetListMapping
The HashMap storing the Stylesheet List number mappings.

rtfDoc

private RtfDocument rtfDoc
The RtfDocument to get font and color numbers from.

Constructor Detail

RtfImportMgr

public RtfImportMgr(RtfDocument rtfDoc, Document doc)
Constructs a new RtfImportHeader.

Parameters: rtfDoc The RtfDocument to get font and color numbers from.

Method Detail

importColor

public void importColor(String colorNr, Color color)
Imports a color value. The color number for the color defined by its red, green and blue values is determined and then the resulting mapping is added.

Parameters: colorNr The original color number. color The color to import.

importFont

public boolean importFont(String fontNr, String fontName)
Imports a font. The font name is looked up in the RtfDocumentHeader and then the mapping from original font number to actual font number is added.

Parameters: fontNr The original font number. fontName The font name to look up.

importFont

public boolean importFont(String fontNr, String fontName, int charset)
Imports a font. The font name is looked up in the RtfDocumentHeader and then the mapping from original font number to actual font number is added.

Parameters: fontNr The original font number. fontName The font name to look up. charset The character set to use for the font.

importFont

public boolean importFont(String fontNr, String fontName, String fontFamily, int charset)
Imports a font. The font name is looked up in the RtfDocumentHeader and then the mapping from original font number to actual font number is added.

Parameters: fontNr The original font number. fontName The font name to look up. charset The character set to use for the font.

importList

public void importList(String origListNr, String newListNr)
Imports a List value. The List number for the List defined is determined and then the resulting mapping is added.

importStylesheetList

public boolean importStylesheetList(String listNr, List listIn)
Imports a stylesheet list value. The stylesheet number for the stylesheet defined is determined and then the resulting mapping is added.

mapColorNr

public String mapColorNr(String colorNr)
Performs the mapping from the original font number to the actual font number used in the RTF document. If the color number was not seen during import (thus no mapping) then 0 is returned, guaranteeing that the color number is always valid.

Parameters: colorNr The color number to map.

Returns: The mapped color number

mapFontNr

public String mapFontNr(String fontNr)
Performs the mapping from the original font number to the actual font number in the resulting RTF document. If the font number was not seen during import (thus no mapping) then 0 is returned, guaranteeing that the font number is always valid.

Parameters: fontNr The font number to map.

Returns: The mapped font number.

mapListNr

public String mapListNr(String listNr)
Performs the mapping from the original list number to the actual list number in the resulting RTF document. If the list number was not seen during import (thus no mapping) then null is returned. There is no guarantee of a valid list number.

mapStylesheetListNr

public String mapStylesheetListNr(String listNr)
Performs the mapping from the original stylesheet number to the actual stylesheet number in the resulting RTF document. If the stylesheet number was not seen during import (thus no mapping) then 0 is returned, guaranteeing that the stylesheet number is always valid.