## com.lowagie.text.rtf
Class RtfWriter2

    java.lang.Object
      com.lowagie.text.DocWriter
          com.lowagie.text.rtf.RtfWriter2

All Implemented Interfaces:
  DocListener, ElementListener, java.util.EventListener

    public class RtfWriter2

extends DocWriter
implements DocListener

The RtfWriter allows the creation of rtf documents via the iText system Version: $Id: RtfWriter2.java,v 1.14 2006/08/26 10:55:01 psoares33 Exp $

Author:
  Mark Hall (mhall@edu.uni-klu.ac.at)

Field Summary
`private RtfDocument` `rtfDoc` The RtfDocument this RtfWriter is creating

Fields inherited from class com.lowagie.text.DocWriter
`closeStream, document, EQUALS, FORWARD, GT, LT, NEWLINE, open, os, pageSize, pause, QUOTE, SPACE, TAB`

Constructor Summary
`protected` `RtfWriter2(Document doc, java.io.OutputStream os)` Constructs a new RtfWriter that listens to the specified Document and writes its output to the OutputStream.

Method Summary
`boolean` `add(Element element)` Adds an Element to the Document
`boolean` `add(Watermark wm)` This method is not supported in the RtfWriter
`void` `clearTextWrap()` This method is not supported in the RtfWriter
`void` `close()` Closes the RtfDocument.
`RtfDocumentSettings` `getDocumentSettings()` Gets the RtfDocumentSettings that specify how the rtf document is generated.
`static RtfWriter2` `getInstance(Document doc, java.io.OutputStream os)` Static method to generate RtfWriters
`void` `importRtfDocument(java.io.Reader documentSource)` Adds the complete RTF document to the current RTF document being generated.
`void` `importRtfFragment(java.io.Reader documentSource, RtfImportMappings mappings)` Adds a fragment of an RTF document to the current RTF document being generated.
`boolean` `newPage()` Adds a page break
`void` `open()` Opens the RtfDocument
`void` `removeWatermark()` This method is not supported in the RtfWriter
`void` `resetFooter()` Resets the footer
`void` `resetHeader()` Resets the header
`void` `resetPageCount()` This method is not supported in the RtfWriter
`void` `setAutogenerateTOCEntries(boolean autogenerate)` Whether to automagically generate table of contents entries when adding Chapters or Sections.
`void` `setDataCacheStyle(int dataCacheStyle)` Deprecated. Use RtfWriter2.getDocumentSettings().setDataCacheStyle(...);
`void` `setFooter(HeaderFooter hf)` Sets the footer to use
`void` `setHeader(HeaderFooter hf)` Sets the header to use
`boolean` `setMargins(float left, float right, float top, float bottom)` Sets the page margins
`void` `setPageCount(int i)` This method is not supported in the RtfWriter
`boolean` `setPageSize(Rectangle rect)` Sets the size of the page

Methods inherited from class com.lowagie.text.DocWriter
`addTabs, flush, getISOBytes, hasMarkupAttributes, isCloseStream, pause, resume, setCloseStream, setMarginMirroring, write, write, writeEnd, writeEnd, writeMarkupAttributes, writeStart`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface com.lowagie.text.DocListener
`setMarginMirroring`

Field Detail

### rtfDoc

    private RtfDocument rtfDoc

  The RtfDocument this RtfWriter is creating

Constructor Detail

### RtfWriter2

    protected RtfWriter2(Document doc,
                         java.io.OutputStream os)

  Constructs a new RtfWriter that listens to the specified Document and writes its output to the OutputStream.

  Parameters:
    `doc` - The Document that this RtfWriter listens to
    `os` - The OutputStream to write to

Method Detail

### getInstance

    public static RtfWriter2 getInstance(Document doc,
                                         java.io.OutputStream os)

  Static method to generate RtfWriters

  Parameters:
    `doc` - The Document that this RtfWriter listens to
    `os` - The OutputStream to write to
  Returns:
    The new RtfWriter

### setHeader

    public void setHeader(HeaderFooter hf)

  Sets the header to use

  Specified by:
    `setHeader` in interface `DocListener`
  Overrides:
    `setHeader` in class `DocWriter`
  Parameters:
    `hf` - The HeaderFooter to use

### resetHeader

    public void resetHeader()

  Resets the header

  Specified by:
    `resetHeader` in interface `DocListener`
  Overrides:
    `resetHeader` in class `DocWriter`

### setFooter

    public void setFooter(HeaderFooter hf)

  Sets the footer to use

  Specified by:
    `setFooter` in interface `DocListener`
  Overrides:
    `setFooter` in class `DocWriter`
  Parameters:
    `hf` - The HeaderFooter to use

### resetFooter

    public void resetFooter()

  Resets the footer

  Specified by:
    `resetFooter` in interface `DocListener`
  Overrides:
    `resetFooter` in class `DocWriter`

### setPageCount

    public void setPageCount(int i)

  This method is not supported in the RtfWriter

  Specified by:
    `setPageCount` in interface `DocListener`
  Overrides:
    `setPageCount` in class `DocWriter`
  Parameters:
    `i` - Unused

### resetPageCount

    public void resetPageCount()

  This method is not supported in the RtfWriter

  Specified by:
    `resetPageCount` in interface `DocListener`
  Overrides:
    `resetPageCount` in class `DocWriter`

### add

    public boolean add(Watermark wm)

  This method is not supported in the RtfWriter

  Specified by:
    `add` in interface `DocListener`
  Overrides:
    `add` in class `DocWriter`
  Parameters:
    `wm` - Unused
  Returns:
    `false`

### removeWatermark

    public void removeWatermark()

  This method is not supported in the RtfWriter

  Specified by:
    `removeWatermark` in interface `DocListener`
  Overrides:
    `removeWatermark` in class `DocWriter`

### clearTextWrap

    public void clearTextWrap()

  This method is not supported in the RtfWriter

  Specified by:
    `clearTextWrap` in interface `DocListener`
  Overrides:
    `clearTextWrap` in class `DocWriter`
  See Also:
    `DocListener.clearTextWrap()`

### open

    public void open()

  Opens the RtfDocument

  Specified by:
    `open` in interface `DocListener`
  Overrides:
    `open` in class `DocWriter`
  Throws:
    `java.io.IOException`

### close

    public void close()

  Closes the RtfDocument. This causes the document to be written to the specified OutputStream

  Specified by:
    `close` in interface `DocListener`
  Overrides:
    `close` in class `DocWriter`

### add

    public boolean add(Element element)
                throws DocumentException

  Adds an Element to the Document

  Specified by:
    `add` in interface `ElementListener`
  Overrides:
    `add` in class `DocWriter`
  Parameters:
    `element` - The element to be added
  Returns:
    `false`
  Throws:
    `DocumentException`

### newPage

    public boolean newPage()

  Adds a page break

  Specified by:
    `newPage` in interface `DocListener`
  Overrides:
    `newPage` in class `DocWriter`
  Returns:
    `false`

### setMargins

    public boolean setMargins(float left,
                              float right,
                              float top,
                              float bottom)

  Sets the page margins

  Specified by:
    `setMargins` in interface `DocListener`
  Overrides:
    `setMargins` in class `DocWriter`
  Parameters:
    `left` - The left margin
    `right` - The right margin
    `top` - The top margin
    `bottom` - The bottom margin
  Returns:
    `false`

### setPageSize

    public boolean setPageSize(Rectangle rect)

  Sets the size of the page

  Specified by:
    `setPageSize` in interface `DocListener`
  Overrides:
    `setPageSize` in class `DocWriter`
  Parameters:
    `rect` - A Rectangle representing the page
  Returns:
    `false`

### 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

### setDataCacheStyle

    public void setDataCacheStyle(int dataCacheStyle)
                           throws DocumentException,
                                  java.io.IOException

  Deprecated. Use RtfWriter2.getDocumentSettings().setDataCacheStyle(...);

  Sets the rtf data cache style to use. Valid values are given in the RtfDataCache class.

  Parameters:
    `dataCacheStyle` - The style to use.
  Throws:
    `DocumentException` - If data has already been written into the data cache.
    `java.io.IOException` - If the disk cache could not be initialised.

### getDocumentSettings

    public RtfDocumentSettings getDocumentSettings()

  Gets the RtfDocumentSettings that specify how the rtf document is generated.

  Returns:
    The current RtfDocumentSettings.

### importRtfDocument

    public void importRtfDocument(java.io.Reader documentSource)
                           throws java.io.IOException,
                                  DocumentException

  Adds the complete RTF document to the current RTF document being generated. It will parse the font and color tables and correct the font and color references so that the imported RTF document retains its formattings.

  Parameters:
    `documentSource` - The Reader to read the RTF document from.
  Throws:
    `java.io.IOException` - On errors reading the RTF document.
    `DocumentException` - On errors adding to this RTF document.

### importRtfFragment

    public void importRtfFragment(java.io.Reader documentSource,
                                  RtfImportMappings mappings)
                           throws java.io.IOException,
                                  DocumentException

  Adds a fragment of an RTF document to the current RTF document being generated. Since this fragment doesn't contain font or color tables, all fonts and colors are mapped to the default font and color. If the font and color mappings are known, they can be specified via the mappings parameter.

  Parameters:
    `documentSource` - The Reader to read the RTF fragment from.
    `mappings` - The RtfImportMappings that contain font and color mappings to apply to the fragment.
  Throws:
    `java.io.IOException` - On errors reading the RTF fragment.
    `DocumentException` - On errors adding to this RTF fragment.