Class DocWriter

java.lang.Object
com.aowagie.text.DocWriter
All Implemented Interfaces:
DocListener, ElementListener, EventListener
Direct Known Subclasses:
PdfWriter

public abstract class DocWriter extends 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:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private boolean
    Closes the stream on document close
    private static final byte
    This is some byte that is often used.
    private static final byte
    This is some byte that is often used.
    private static final byte
    This is some byte that is often used.
    protected boolean
    Is the writer open for writing?
    The outputstream of this writer.
    private final boolean
    Do we have to pause all writing actions?
    private static final byte
    This is some byte that is often used.
    private static final byte
    This is some byte that is often used.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
    protected
    Constructs a DocWriter.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    add(Element element)
    Signals that an Element was added to the Document.
    void
    Signals that the Document was closed and that no other Elements will be added.
    static final byte[]
    Converts a String into a Byte array according to the ISO-8859-1 codepage.
    boolean
    Checks if the stream is to be closed on document close
    boolean
    Checks if writing is paused.
    boolean
    Signals that an new page has to be started.
    void
    Signals that the Document was opened.
    void
    Resets the footer of this document.
    void
    Resets the header of this document.
    void
    Sets the page number to 0.
    void
    setCloseStream(boolean closeStream)
    Sets the close state of the stream after document close
    void
    Changes the footer of this document.
    void
    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
    Sets the pagesize.
    private void
    write(String string)
    Writes a String to the OutputStream.
    private void
    write(String key, String value)
    Writes a key-value pair to the outputstream.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • SPACE

      private static final byte SPACE
      This is some byte that is often used.
      See Also:
    • EQUALS

      private static final byte EQUALS
      This is some byte that is often used.
      See Also:
    • QUOTE

      private static final byte QUOTE
      This is some byte that is often used.
      See Also:
    • GT

      private static final byte GT
      This is some byte that is often used.
      See Also:
    • FORWARD

      private static final byte FORWARD
      This is some byte that is often used.
      See Also:
    • os

      protected OutputStreamCounter os
      The outputstream of this writer.
    • open

      protected boolean open
      Is the writer open for writing?
    • pause

      private final boolean pause
      Do we have to pause all writing actions?
      See Also:
    • closeStream

      private boolean closeStream
      Closes the stream on document close
  • Constructor Details

    • DocWriter

      protected DocWriter()
    • DocWriter

      protected DocWriter(Document document, OutputStream os)
      Constructs a DocWriter.
      Parameters:
      document - The Document that has to be written
      os - The OutputStream the writer has to write to.
  • Method Details

    • 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(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
    • isPaused

      public boolean isPaused()
      Checks if writing is paused.
      Returns:
      true if writing temporarily has to be paused, false otherwise.
    • write

      private void write(String string) throws IOException
      Writes a String to the OutputStream.
      Parameters:
      string - the String to write
      Throws:
      IOException - on error
    • write

      private void write(String key, String value) throws IOException
      Writes a key-value pair to the outputstream.
      Parameters:
      key - the name of an attribute
      value - the value of an attribute
      Throws:
      IOException - on error
    • 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
      Parameters:
      MarginMirroring - Margin
      Returns:
      true if successful
      See Also:
    • 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
      Parameters:
      MarginMirroring - Margin
      Returns:
      true if successful
      Since:
      2.1.6
      See Also: