Package com.lowagie.text.rtf.document
Class RtfDocument
- java.lang.Object
-
- com.lowagie.text.rtf.RtfElement
-
- com.lowagie.text.rtf.document.RtfDocument
-
- All Implemented Interfaces:
RtfBasicElement
,com.lowagie.text.RtfElementInterface
public class RtfDocument extends RtfElement
The RtfDocument stores all document related data and also the main data stream. INTERNAL CLASS - NOT TO BE USED DIRECTLY- Since:
- 1.x
- Version:
- $Id: RtfDocument.java 4065 2009-09-16 23:09:11Z psoares33 $
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
autogenerateTOCEntries
Whether to automatically generate TOC entries for Chapters and Sections.private RtfDataCache
data
Stores the actual document dataprivate RtfDocumentHeader
documentHeader
The RtfDocumentHeader that handles all document header methodsprivate RtfDocumentSettings
documentSettings
The RtfDocumentSettings for this RtfDocument.private static byte[]
FSC_BACKSLASH
private static byte[]
FSC_HEX_PREFIX
private static byte[]
FSC_LINE
private static byte[]
FSC_NEWPAGE
private static byte[]
FSC_PAGE_PAR
private static byte[]
FSC_PAR
private static byte[]
FSC_TAB
private static byte[]
FSC_UNI_PREFIX
private RtfBasicElement
lastElementWritten
The last RtfBasicElement that was added directly to the RtfDocument.private RtfMapper
mapper
The RtfMapper to use in this RtfDocumentprivate java.util.List<java.lang.Integer>
previousRandomInts
Stores integers that have been generated as unique random numbersprivate static byte[]
RTF_DOCUMENT
Constant for the Rtf document start-
Fields inherited from class com.lowagie.text.rtf.RtfElement
document, inHeader, inTable
-
Fields inherited from interface com.lowagie.text.rtf.RtfBasicElement
CLOSE_GROUP, COMMA_DELIMITER, DELIMITER, OPEN_GROUP, TWIPS_FACTOR
-
-
Constructor Summary
Constructors Constructor Description RtfDocument()
The default constructor for a RtfDocument
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(RtfBasicElement element)
Adds an element to the rtf documentvoid
filterSpecialChar(java.io.OutputStream out, java.lang.String str, boolean useHex, boolean softLineBreaks)
Writes the given string to the givenOutputStream
encoding the string characters.boolean
getAutogenerateTOCEntries()
Get whether to automatically generate table of contents entriesRtfDocumentHeader
getDocumentHeader()
Gets the RtfDocumentHeader of this RtfDocumentRtfDocumentSettings
getDocumentSettings()
Gets the RtfDocumentSettings that specify how the rtf document is generated.RtfBasicElement
getLastElementWritten()
Gets the last RtfBasicElement that was directly added to the RtfDocument.RtfMapper
getMapper()
Gets the RtfMapper object of this RtfDocumentint
getRandomInt()
Generates a random integer that is unique with respect to the document.void
open()
Opens the RtfDocument and initializes the data cache.void
outputDebugLinebreak(java.io.OutputStream result)
Helper method outputs linebreak in document if debugging is turned on.void
setAutogenerateTOCEntries(boolean autogenerate)
Whether to automagically generate table of contents entries when adding Chapters or Sections.private static boolean
subMatch(java.lang.String str, int soff, byte[] m)
Returnstrue
if m.length characters in str, starting at offset soff match the bytes in the given array m.void
writeContent(java.io.OutputStream out)
unusedvoid
writeDocument(java.io.OutputStream out)
Writes the document-
Methods inherited from class com.lowagie.text.rtf.RtfElement
intToByteArray, isInTable, setInHeader, setInTable, setRtfDocument
-
-
-
-
Field Detail
-
data
private RtfDataCache data
Stores the actual document data
-
mapper
private final RtfMapper mapper
The RtfMapper to use in this RtfDocument
-
documentHeader
private final RtfDocumentHeader documentHeader
The RtfDocumentHeader that handles all document header methods
-
previousRandomInts
private final java.util.List<java.lang.Integer> previousRandomInts
Stores integers that have been generated as unique random numbers
-
autogenerateTOCEntries
private boolean autogenerateTOCEntries
Whether to automatically generate TOC entries for Chapters and Sections. Defaults to false
-
documentSettings
private final RtfDocumentSettings documentSettings
The RtfDocumentSettings for this RtfDocument.
-
lastElementWritten
private RtfBasicElement lastElementWritten
The last RtfBasicElement that was added directly to the RtfDocument.
-
RTF_DOCUMENT
private static final byte[] RTF_DOCUMENT
Constant for the Rtf document start
-
FSC_LINE
private static final byte[] FSC_LINE
-
FSC_PAR
private static final byte[] FSC_PAR
-
FSC_TAB
private static final byte[] FSC_TAB
-
FSC_PAGE_PAR
private static final byte[] FSC_PAGE_PAR
-
FSC_NEWPAGE
private static final byte[] FSC_NEWPAGE
-
FSC_BACKSLASH
private static final byte[] FSC_BACKSLASH
-
FSC_HEX_PREFIX
private static final byte[] FSC_HEX_PREFIX
-
FSC_UNI_PREFIX
private static final byte[] FSC_UNI_PREFIX
-
-
Method Detail
-
writeContent
public void writeContent(java.io.OutputStream out) throws java.io.IOException
unused- Specified by:
writeContent
in interfaceRtfBasicElement
- Specified by:
writeContent
in classRtfElement
- Parameters:
out
- TheOutputStream
to write the content to- Throws:
java.io.IOException
-
writeDocument
public void writeDocument(java.io.OutputStream out)
Writes the document- Parameters:
out
- TheOutputStream
to write the RTF document to.
-
open
public void open()
Opens the RtfDocument and initializes the data cache. If the data cache is set to CACHE_DISK, but the cache cannot be initialized then the memory cache is used.
-
add
public void add(RtfBasicElement element)
Adds an element to the rtf document- Parameters:
element
- The element to add
-
getMapper
public RtfMapper getMapper()
Gets the RtfMapper object of this RtfDocument- Returns:
- The RtfMapper
-
getRandomInt
public int getRandomInt()
Generates a random integer that is unique with respect to the document. Will not return a number between -1 and -5 because some values in that range are invalid.- Returns:
- A random int
-
getDocumentHeader
public RtfDocumentHeader getDocumentHeader()
Gets the RtfDocumentHeader of this RtfDocument- Returns:
- The RtfDocumentHeader of this RtfDocument
-
filterSpecialChar
public void filterSpecialChar(java.io.OutputStream out, java.lang.String str, boolean useHex, boolean softLineBreaks) throws java.io.IOException
Writes the given string to the givenOutputStream
encoding the string characters.- Parameters:
out
- destination OutputStreamstr
- string to writeuseHex
- iftrue
hex encoding characters is preferred to unicode encoding if possiblesoftLineBreaks
- iftrue
return characters are written as soft line breaks- Throws:
java.io.IOException
-
subMatch
private static boolean subMatch(java.lang.String str, int soff, byte[] m)
Returnstrue
if m.length characters in str, starting at offset soff match the bytes in the given array m.- Parameters:
str
- the string to search for a matchsoff
- the starting offset in strm
- the array to match- Returns:
true
if there is match
-
setAutogenerateTOCEntries
public void setAutogenerateTOCEntries(boolean autogenerate)
Whether to automagically generate table of contents entries when adding Chapters or Sections.- Parameters:
autogenerate
- Whether to automatically generate TOC entries
-
getAutogenerateTOCEntries
public boolean getAutogenerateTOCEntries()
Get whether to automatically generate table of contents entries- Returns:
- Whether to automatically generate TOC entries
-
getDocumentSettings
public RtfDocumentSettings getDocumentSettings()
Gets the RtfDocumentSettings that specify how the rtf document is generated.- Returns:
- The current RtfDocumentSettings.
-
getLastElementWritten
public RtfBasicElement getLastElementWritten()
Gets the last RtfBasicElement that was directly added to the RtfDocument.- Returns:
- The last RtfBasicElement that was directly added to the RtfDocument.
-
outputDebugLinebreak
public final void outputDebugLinebreak(java.io.OutputStream result) throws java.io.IOException
Helper method outputs linebreak in document if debugging is turned on.- Parameters:
result
- the OutputStream to write the linebreak to.- Throws:
java.io.IOException
- Since:
- 2.1.3
-
-