com.lowagie.text.pdf.events

## Class PdfPageEventForwarder

- java.lang.Object
- - com.lowagie.text.pdf.events.PdfPageEventForwarder

- All Implemented Interfaces:
    PdfPageEvent

      public class PdfPageEventForwarder
      extends java.lang.Object
      implements PdfPageEvent

  If you want to add more than one page event to a PdfWriter, you have to construct a PdfPageEventForwarder, add the different events to this object and add the forwarder to the PdfWriter.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.util.ArrayList` | `events` ArrayList containing all the PageEvents that have to be executed.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PdfPageEventForwarder()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addPageEvent(PdfPageEvent event)` Add a page event to the forwarder.
    `void` | `onChapter(PdfWriter writer, Document document, float paragraphPosition, Paragraph title)` Called when a Chapter is written.
    `void` | `onChapterEnd(PdfWriter writer, Document document, float position)` Called when the end of a Chapter is reached.
    `void` | `onCloseDocument(PdfWriter writer, Document document)` Called when the document is closed.
    `void` | `onEndPage(PdfWriter writer, Document document)` Called when a page is finished, just before being written to the document.
    `void` | `onGenericTag(PdfWriter writer, Document document, Rectangle rect, java.lang.String text)` Called when a `Chunk` with a generic tag is written.
    `void` | `onOpenDocument(PdfWriter writer, Document document)` Called when the document is opened.
    `void` | `onParagraph(PdfWriter writer, Document document, float paragraphPosition)` Called when a Paragraph is written.
    `void` | `onParagraphEnd(PdfWriter writer, Document document, float paragraphPosition)` Called when a Paragraph is written.
    `void` | `onSection(PdfWriter writer, Document document, float paragraphPosition, int depth, Paragraph title)` Called when a Section is written.
    `void` | `onSectionEnd(PdfWriter writer, Document document, float position)` Called when the end of a Section is reached.
    `void` | `onStartPage(PdfWriter writer, Document document)` Called when a page is initialized.

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

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

- - ### Field Detail

    - #### events

          protected java.util.ArrayList events

      ArrayList containing all the PageEvents that have to be executed.

  - ### Constructor Detail

    - #### PdfPageEventForwarder

          public PdfPageEventForwarder()

  - ### Method Detail

    - #### addPageEvent

          public void addPageEvent(PdfPageEvent event)

      Add a page event to the forwarder.
      Parameters:
        `event` - an event that has to be added to the forwarder.

    - #### onOpenDocument

          public void onOpenDocument(PdfWriter writer,
                            Document document)

      Called when the document is opened.
      Specified by:
        `onOpenDocument` in interface `PdfPageEvent`
      Parameters:
        `writer` - the `PdfWriter` for this document
        `document` - the document

    - #### onStartPage

          public void onStartPage(PdfWriter writer,
                         Document document)

      Called when a page is initialized.

      Note that if even if a page is not written this method is still called. It is preferable to use `onEndPage` to avoid infinite loops.

      Specified by:
        `onStartPage` in interface `PdfPageEvent`
      Parameters:
        `writer` - the `PdfWriter` for this document
        `document` - the document

    - #### onEndPage

          public void onEndPage(PdfWriter writer,
                       Document document)

      Called when a page is finished, just before being written to the document.
      Specified by:
        `onEndPage` in interface `PdfPageEvent`
      Parameters:
        `writer` - the `PdfWriter` for this document
        `document` - the document

    - #### onCloseDocument

          public void onCloseDocument(PdfWriter writer,
                             Document document)

      Called when the document is closed.

      Note that this method is called with the page number equal to the last page plus one.

      Specified by:
        `onCloseDocument` in interface `PdfPageEvent`
      Parameters:
        `writer` - the `PdfWriter` for this document
        `document` - the document

    - #### onParagraph

          public void onParagraph(PdfWriter writer,
                         Document document,
                         float paragraphPosition)

      Called when a Paragraph is written.

      `paragraphPosition` will hold the height at which the paragraph will be written to. This is useful to insert bookmarks with more control.

      Specified by:
        `onParagraph` in interface `PdfPageEvent`
      Parameters:
        `writer` - the `PdfWriter` for this document
        `document` - the document
        `paragraphPosition` - the position the paragraph will be written to

    - #### onParagraphEnd

          public void onParagraphEnd(PdfWriter writer,
                            Document document,
                            float paragraphPosition)

      Called when a Paragraph is written.

      `paragraphPosition` will hold the height of the end of the paragraph.

      Specified by:
        `onParagraphEnd` in interface `PdfPageEvent`
      Parameters:
        `writer` - the `PdfWriter` for this document
        `document` - the document
        `paragraphPosition` - the position of the end of the paragraph

    - #### onChapter

          public void onChapter(PdfWriter writer,
                       Document document,
                       float paragraphPosition,
                       Paragraph title)

      Called when a Chapter is written.

      `position` will hold the height at which the chapter will be written to.

      Specified by:
        `onChapter` in interface `PdfPageEvent`
      Parameters:
        `writer` - the `PdfWriter` for this document
        `document` - the document
        `paragraphPosition` - the position the chapter will be written to
        `title` - the title of the Chapter

    - #### onChapterEnd

          public void onChapterEnd(PdfWriter writer,
                          Document document,
                          float position)

      Called when the end of a Chapter is reached.

      `position` will hold the height of the end of the chapter.

      Specified by:
        `onChapterEnd` in interface `PdfPageEvent`
      Parameters:
        `writer` - the `PdfWriter` for this document
        `document` - the document
        `position` - the position of the end of the chapter.

    - #### onSection

          public void onSection(PdfWriter writer,
                       Document document,
                       float paragraphPosition,
                       int depth,
                       Paragraph title)

      Called when a Section is written.

      `position` will hold the height at which the section will be written to.

      Specified by:
        `onSection` in interface `PdfPageEvent`
      Parameters:
        `writer` - the `PdfWriter` for this document
        `document` - the document
        `paragraphPosition` - the position the section will be written to
        `depth` - the number depth of the Section
        `title` - the title of the section

    - #### onSectionEnd

          public void onSectionEnd(PdfWriter writer,
                          Document document,
                          float position)

      Called when the end of a Section is reached.

      `position` will hold the height of the section end.

      Specified by:
        `onSectionEnd` in interface `PdfPageEvent`
      Parameters:
        `writer` - the `PdfWriter` for this document
        `document` - the document
        `position` - the position of the end of the section

    - #### onGenericTag

          public void onGenericTag(PdfWriter writer,
                          Document document,
                          Rectangle rect,
                          java.lang.String text)

      Called when a `Chunk` with a generic tag is written.

      It is useful to pinpoint the `Chunk` location to generate bookmarks, for example.

      Specified by:
        `onGenericTag` in interface `PdfPageEvent`
      Parameters:
        `writer` - the `PdfWriter` for this document
        `document` - the document
        `rect` - the `Rectangle` containing the `Chunk`
        `text` - the text of the tag