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 Details

    • 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 List<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
  • Constructor Details

    • RtfDocument

      public RtfDocument()
      The default constructor for a RtfDocument
  • Method Details

    • writeContent

      public void writeContent(OutputStream out) throws IOException
      unused
      Specified by:
      writeContent in interface RtfBasicElement
      Specified by:
      writeContent in class RtfElement
      Parameters:
      out - The OutputStream to write the content to
      Throws:
      IOException
    • writeDocument

      public void writeDocument(OutputStream out)
      Writes the document
      Parameters:
      out - The OutputStream 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(OutputStream out, String str, boolean useHex, boolean softLineBreaks) throws IOException
      Writes the given string to the given OutputStream encoding the string characters.
      Parameters:
      out - destination OutputStream
      str - string to write
      useHex - if true hex encoding characters is preferred to unicode encoding if possible
      softLineBreaks - if true return characters are written as soft line breaks
      Throws:
      IOException
    • subMatch

      private static boolean subMatch(String str, int soff, byte[] m)
      Returns true 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 match
      soff - the starting offset in str
      m - 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(OutputStream result) throws IOException
      Helper method outputs linebreak in document if debugging is turned on.
      Parameters:
      result - the OutputStream to write the linebreak to.
      Throws:
      IOException
      Since:
      2.1.3