Class PdfPTableEventForwarder

  • All Implemented Interfaces:
    PdfPTableEvent

    public class PdfPTableEventForwarder
    extends java.lang.Object
    implements PdfPTableEvent
    If you want to add more than one page event to a PdfPTable, you have to construct a PdfPTableEventForwarder, add the different events to this object and add the forwarder to the PdfWriter.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.ArrayList events
      ArrayList containing all the PageEvents that have to be executed.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addTableEvent​(PdfPTableEvent event)
      Add a page event to the forwarder.
      void tableLayout​(PdfPTable table, float[][] widths, float[] heights, int headerRows, int rowStart, PdfContentByte[] canvases)
      This method is called at the end of the table rendering.
      • Methods inherited from class java.lang.Object

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

      • events

        private final java.util.ArrayList events
        ArrayList containing all the PageEvents that have to be executed.
    • Constructor Detail

      • PdfPTableEventForwarder

        public PdfPTableEventForwarder()
    • Method Detail

      • addTableEvent

        public void addTableEvent​(PdfPTableEvent event)
        Add a page event to the forwarder.
        Parameters:
        event - an event that has to be added to the forwarder.
      • tableLayout

        public void tableLayout​(PdfPTable table,
                                float[][] widths,
                                float[] heights,
                                int headerRows,
                                int rowStart,
                                PdfContentByte[] canvases)
        Description copied from interface: PdfPTableEvent
        This method is called at the end of the table rendering. The text or graphics are added to one of the 4 PdfContentByte contained in canvases.
        The indexes to canvases are:
        • PdfPTable.BASECANVAS - the original PdfContentByte. Anything placed here will be under the table.
        • PdfPTable.BACKGROUNDCANVAS - the layer where the background goes to.
        • PdfPTable.LINECANVAS - the layer where the lines go to.
        • PdfPTable.TEXTCANVAS - the layer where the text go to. Anything placed here will be over the table.
        The layers are placed in sequence on top of each other.

        The widths and heights have the coordinates of the cells.
        The size of the widths array is the number of rows. Each sub-array in widths corresponds to the x column border positions where the first element is the x coordinate of the left table border and the last element is the x coordinate of the right table border. If colspan is not used all the sub-arrays in widths are the same.
        For the heights the first element is the y coordinate of the top table border and the last element is the y coordinate of the bottom table border.

        Specified by:
        tableLayout in interface PdfPTableEvent
        Parameters:
        table - the PdfPTable in use
        widths - an array of arrays with the cells' x positions. It has the length of the number of rows
        heights - an array with the cells' y positions. It has a length of the number of rows + 1
        headerRows - the number of rows defined for the header.
        rowStart - the first row number after the header
        canvases - an array of PdfContentByte
        See Also:
        PdfPTableEvent.tableLayout(com.aowagie.text.pdf.PdfPTable, float[][], float[], int, int, com.aowagie.text.pdf.PdfContentByte[])