## com.lowagie.text
Class DocWriter

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

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

Direct Known Subclasses:
  HtmlWriter, PdfWriter, RtfWriter2

    public abstract class DocWriter

extends java.lang.Object
implements DocListener

An abstract `Writer` class for documents.

`DocWriter` is the abstract class of several writers such as `PdfWriter` and `HtmlWriter`. A `DocWriter` can be added as a `DocListener` to a certain `Document` by getting an instance (see method `getInstance()` in the specific writer-classes). Every `Element` added to the original `Document` will be written to the `OutputStream` of the listening `DocWriter`.

See Also:
  `Document`, `DocListener`

Field Summary
`protected boolean` `closeStream` Closes the stream on document close
`protected Document` `document` This is the document that has to be written.
`static byte` `EQUALS` This is some byte that is often used.
`static byte` `FORWARD` This is some byte that is often used.
`static byte` `GT` This is some byte that is often used.
`static byte` `LT` This is some byte that is often used.
`static byte` `NEWLINE` This is some byte that is often used.
`protected boolean` `open` Is the writer open for writing?
`protected OutputStreamCounter` `os` The outputstream of this writer.
`protected Rectangle` `pageSize` The pageSize.
`protected boolean` `pause` Do we have to pause all writing actions?
`static byte` `QUOTE` This is some byte that is often used.
`static byte` `SPACE` This is some byte that is often used.
`static byte` `TAB` This is some byte that is often used.

Constructor Summary
`protected` `DocWriter()`
`protected` `DocWriter(Document document, java.io.OutputStream os)` Constructs a `DocWriter`.

Method Summary
`boolean` `add(Element element)` Signals that an `Element` was added to the `Document`.
`protected void` `addTabs(int indent)` Writes a number of tabs.
`void` `close()` Signals that the `Document` was closed and that no other `Elements` will be added.
`void` `flush()` Flushes the `BufferedOutputStream`.
`static byte[]` `getISOBytes(java.lang.String text)` Converts a `String` into a `Byte` array according to the ISO-8859-1 codepage.
`boolean` `isCloseStream()` Checks if the stream is to be closed on document close
`boolean` `isPaused()` Checks if writing is paused.
`boolean` `newPage()` Signals that an new page has to be started.
`void` `open()` Signals that the `Document` was opened.
`void` `pause()` Let the writer know that all writing has to be paused.
`void` `resetFooter()` Resets the footer of this document.
`void` `resetHeader()` Resets the header of this document.
`void` `resetPageCount()` Sets the page number to 0.
`void` `resume()` Let the writer know that writing may be resumed.
`void` `setCloseStream(boolean closeStream)` Sets the close state of the stream after document close
`void` `setFooter(HeaderFooter footer)` Changes the footer of this document.
`void` `setHeader(HeaderFooter header)` Changes the header of this document.
`boolean` `setMarginMirroring(boolean MarginMirroring)` Parameter that allows you to do left/right margin mirroring (odd/even pages)
`boolean` `setMarginMirroringTopBottom(boolean MarginMirroring)` Parameter that allows you to do top/bottom margin mirroring (odd/even pages)
`boolean` `setMargins(float marginLeft, float marginRight, float marginTop, float marginBottom)` Sets the margins.
`void` `setPageCount(int pageN)` Sets the page number.
`boolean` `setPageSize(Rectangle pageSize)` Sets the pagesize.
`protected void` `write(java.lang.String string)` Writes a `String` to the `OutputStream`.
`protected void` `write(java.lang.String key, java.lang.String value)` Writes a key-value pair to the outputstream.
`protected void` `writeEnd()` Writes an endtag to the outputstream.
`protected void` `writeEnd(java.lang.String tag)` Writes an endtag to the outputstream.
`protected boolean` `writeMarkupAttributes(java.util.Properties markup)` Writes the markup attributes of the specified `MarkupAttributes` object to the `OutputStream`.
`protected void` `writeStart(java.lang.String tag)` Writes a starttag to the outputstream.

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

Field Detail

### NEWLINE

    public static final byte NEWLINE

  This is some byte that is often used.

  See Also:
    Constant Field Values

### TAB

    public static final byte TAB

  This is some byte that is often used.

  See Also:
    Constant Field Values

### LT

    public static final byte LT

  This is some byte that is often used.

  See Also:
    Constant Field Values

### SPACE

    public static final byte SPACE

  This is some byte that is often used.

  See Also:
    Constant Field Values

### EQUALS

    public static final byte EQUALS

  This is some byte that is often used.

  See Also:
    Constant Field Values

### QUOTE

    public static final byte QUOTE

  This is some byte that is often used.

  See Also:
    Constant Field Values

### GT

    public static final byte GT

  This is some byte that is often used.

  See Also:
    Constant Field Values

### FORWARD

    public static final byte FORWARD

  This is some byte that is often used.

  See Also:
    Constant Field Values

### pageSize

    protected Rectangle pageSize

  The pageSize.

### document

    protected Document document

  This is the document that has to be written.

### os

    protected OutputStreamCounter os

  The outputstream of this writer.

### open

    protected boolean open

  Is the writer open for writing?

### pause

    protected boolean pause

  Do we have to pause all writing actions?

### closeStream

    protected boolean closeStream

  Closes the stream on document close

Constructor Detail

### DocWriter

    protected DocWriter()

### DocWriter

    protected DocWriter(Document document,
                        java.io.OutputStream os)

  Constructs a `DocWriter`.

  Parameters:
    `document` - The `Document` that has to be written
    `os` - The `OutputStream` the writer has to write to.

Method Detail

### add

    public boolean add(Element element)
                throws DocumentException

  Signals that an `Element` was added to the `Document`.

  This method should be overridden in the specific `DocWriter`classes derived from this abstract class.``

  Specified by:
    `add` in interface `ElementListener`
  Parameters:
    `element` - A high level object to add
  Returns:
    `false`
  Throws:
    `DocumentException` - when a document isn't open yet, or has been closed

### open

    public void open()

  Signals that the `Document` was opened.

  Specified by:
    `open` in interface `DocListener`

### setPageSize

    public boolean setPageSize(Rectangle pageSize)

  Sets the pagesize.

  Specified by:
    `setPageSize` in interface `DocListener`
  Parameters:
    `pageSize` - the new pagesize
  Returns:
    a `boolean`

### setMargins

    public boolean setMargins(float marginLeft,
                              float marginRight,
                              float marginTop,
                              float marginBottom)

  Sets the margins.

  This does nothing. Has to be overridden if needed.

  Specified by:
    `setMargins` in interface `DocListener`
  Parameters:
    `marginLeft` - the margin on the left
    `marginRight` - the margin on the right
    `marginTop` - the margin on the top
    `marginBottom` - the margin on the bottom
  Returns:
    `false`

### newPage

    public boolean newPage()

  Signals that an new page has to be started.

  This does nothing. Has to be overridden if needed.

  Specified by:
    `newPage` in interface `DocListener`
  Returns:
    `true` if the page was added, `false` if not.

### setHeader

    public void setHeader(HeaderFooter header)

  Changes the header of this document.

  This method should be overridden in the specific `DocWriter`classes derived from this abstract class if they actually support the use of headers.``

  Specified by:
    `setHeader` in interface `DocListener`
  Parameters:
    `header` - the new header

### resetHeader

    public void resetHeader()

  Resets the header of this document.

  This method should be overridden in the specific `DocWriter`classes derived from this abstract class if they actually support the use of headers.``

  Specified by:
    `resetHeader` in interface `DocListener`

### setFooter

    public void setFooter(HeaderFooter footer)

  Changes the footer of this document.

  This method should be overridden in the specific `DocWriter`classes derived from this abstract class if they actually support the use of footers.``

  Specified by:
    `setFooter` in interface `DocListener`
  Parameters:
    `footer` - the new footer

### resetFooter

    public void resetFooter()

  Resets the footer of this document.

  This method should be overridden in the specific `DocWriter`classes derived from this abstract class if they actually support the use of footers.``

  Specified by:
    `resetFooter` in interface `DocListener`

### resetPageCount

    public void resetPageCount()

  Sets the page number to 0.

  This method should be overridden in the specific `DocWriter`classes derived from this abstract class if they actually support the use of pagenumbers.``

  Specified by:
    `resetPageCount` in interface `DocListener`

### setPageCount

    public void setPageCount(int pageN)

  Sets the page number.

  This method should be overridden in the specific `DocWriter`classes derived from this abstract class if they actually support the use of pagenumbers.``

  Specified by:
    `setPageCount` in interface `DocListener`
  Parameters:
    `pageN` - the new page number

### close

    public void close()

  Signals that the `Document` was closed and that no other `Elements` will be added.

  Specified by:
    `close` in interface `DocListener`

### getISOBytes

    public static final byte[] getISOBytes(java.lang.String text)

  Converts a `String` into a `Byte` array according to the ISO-8859-1 codepage.

  Parameters:
    `text` - the text to be converted
  Returns:
    the conversion result

### pause

    public void pause()

  Let the writer know that all writing has to be paused.

### isPaused

    public boolean isPaused()

  Checks if writing is paused.

  Returns:
    `true` if writing temporarily has to be paused, `false` otherwise.

### resume

    public void resume()

  Let the writer know that writing may be resumed.

### flush

    public void flush()

  Flushes the `BufferedOutputStream`.

### write

    protected void write(java.lang.String string)
                  throws java.io.IOException

  Writes a `String` to the `OutputStream`.

  Parameters:
    `string` - the `String` to write
  Throws:
    `java.io.IOException`

### addTabs

    protected void addTabs(int indent)
                    throws java.io.IOException

  Writes a number of tabs.

  Parameters:
    `indent` - the number of tabs to add
  Throws:
    `java.io.IOException`

### write

    protected void write(java.lang.String key,
                         java.lang.String value)
                  throws java.io.IOException

  Writes a key-value pair to the outputstream.

  Parameters:
    `key` - the name of an attribute
    `value` - the value of an attribute
  Throws:
    `java.io.IOException`

### writeStart

    protected void writeStart(java.lang.String tag)
                       throws java.io.IOException

  Writes a starttag to the outputstream.

  Parameters:
    `tag` - the name of the tag
  Throws:
    `java.io.IOException`

### writeEnd

    protected void writeEnd(java.lang.String tag)
                     throws java.io.IOException

  Writes an endtag to the outputstream.

  Parameters:
    `tag` - the name of the tag
  Throws:
    `java.io.IOException`

### writeEnd

    protected void writeEnd()
                     throws java.io.IOException

  Writes an endtag to the outputstream.

  Throws:
    `java.io.IOException`

### writeMarkupAttributes

    protected boolean writeMarkupAttributes(java.util.Properties markup)
                                     throws java.io.IOException

  Writes the markup attributes of the specified `MarkupAttributes` object to the `OutputStream`.

  Parameters:
    `markup` - a `Properties` collection to write.
  Returns:
    true, if writing the markup attributes succeeded
  Throws:
    `java.io.IOException`

### isCloseStream

    public boolean isCloseStream()

  Checks if the stream is to be closed on document close

  Returns:
    true if the stream is closed on document close

### setCloseStream

    public void setCloseStream(boolean closeStream)

  Sets the close state of the stream after document close

  Parameters:
    `closeStream` - true if the stream is closed on document close

### setMarginMirroring

    public boolean setMarginMirroring(boolean MarginMirroring)

  Description copied from interface: `DocListener`
  Parameter that allows you to do left/right margin mirroring (odd/even pages)

  Specified by:
    `setMarginMirroring` in interface `DocListener`
  Returns:
    true if successful
  See Also:
    `DocListener.setMarginMirroring(boolean)`

### setMarginMirroringTopBottom

    public boolean setMarginMirroringTopBottom(boolean MarginMirroring)

  Description copied from interface: `DocListener`
  Parameter that allows you to do top/bottom margin mirroring (odd/even pages)

  Specified by:
    `setMarginMirroringTopBottom` in interface `DocListener`
  Returns:
    true if successful
  Since:
    2.1.6
  See Also:
    `DocListener.setMarginMirroring(boolean)`

Hosted by Hostbasket