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

The RtfWriter allows the creation of rtf documents via the iText system Version: $Id$

Author:
  Mark Hall (Mark.Hall@mail.room3b.eu)

### Field Summary

Fields
`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

Constructors
`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

Methods
`boolean` `add(Element element)` Adds an Element to the Document
`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.FileInputStream documentSource)` Adds the complete RTF document to the current RTF document being generated.
`void` `importRtfDocument(java.io.InputStream documentSource, java.util.EventListener[] events)` Adds the complete RTF document to the current RTF document being generated.
`void` `importRtfDocumentIntoElement(Element elem, java.io.FileInputStream documentSource)` Adds the complete RTF document to the current RTF element being generated.
`void` `importRtfDocumentIntoElement(Element elem, java.io.FileInputStream documentSource, java.util.EventListener[] events)` Adds the complete RTF document to the current RTF element being generated.
`void` `importRtfFragment(java.io.InputStream documentSource, RtfImportMappings mappings)` Adds a fragment of an RTF document to the current RTF document being generated.
`void` `importRtfFragment(java.io.InputStream documentSource, RtfImportMappings mappings, java.util.EventListener[] events)` 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` `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` `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, isCloseStream, isPaused, pause, resume, setCloseStream, setMarginMirroring, setMarginMirroringTopBottom, write, write, writeEnd, writeEnd, writeMarkupAttributes, writeStart`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

#### clearTextWrap

    public void clearTextWrap()

This method is not supported in the RtfWriter

#### open

    public void open()

Opens the RtfDocument

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

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

#### 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.FileInputStream 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.
Since:
  2.1.0

#### importRtfDocument

    public void importRtfDocument(java.io.InputStream documentSource,
                         java.util.EventListener[] events)
                           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. Uses new RtfParser object. (author: Howard Shank)

Parameters:
  `documentSource` - The InputStream to read the RTF document from.
  `events` - The array of event listeners. May be null
Throws:
  `java.io.IOException`
  `DocumentException`
Since:
  2.0.8
See Also:
  `RtfParser`, `RtfParser.importRtfDocument(InputStream, RtfDocument)`

#### importRtfFragment

    public void importRtfFragment(java.io.InputStream 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 InputStream 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.
Since:
  2.1.0

#### importRtfFragment

    public void importRtfFragment(java.io.InputStream documentSource,
                         RtfImportMappings mappings,
                         java.util.EventListener[] events)
                           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. Uses new RtfParser object. (author: Howard Shank)

Parameters:
  `documentSource` - The InputStream to read the RTF fragment from.
  `mappings` - The RtfImportMappings that contain font and color mappings to apply to the fragment.
  `events` - The array of event listeners. May be null
Throws:
  `java.io.IOException` - On errors reading the RTF fragment.
  `DocumentException` - On errors adding to this RTF fragment.
Since:
  2.0.8
See Also:
  `RtfImportMappings`, `RtfParser`, `RtfParser.importRtfFragment(InputStream, RtfDocument, RtfImportMappings)`

#### importRtfDocumentIntoElement

    public void importRtfDocumentIntoElement(Element elem,
                                    java.io.FileInputStream documentSource)
                                      throws java.io.IOException,
                                             DocumentException

Adds the complete RTF document to the current RTF element 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:
  `elem` - The Element the RTF document is to be imported into.
  `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.
Since:
  2.1.4

#### importRtfDocumentIntoElement

    public void importRtfDocumentIntoElement(Element elem,
                                    java.io.FileInputStream documentSource,
                                    java.util.EventListener[] events)
                                      throws java.io.IOException,
                                             DocumentException

Adds the complete RTF document to the current RTF element 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:
  `elem` - The Element the RTF document is to be imported into.
  `documentSource` - The Reader to read the RTF document from.
  `events` - The event array for listeners.
Throws:
  `java.io.IOException` - On errors reading the RTF document.
  `DocumentException` - On errors adding to this RTF document.
Since:
  2.1.4