Class PdfPCell

java.lang.Object
com.itextpdf.text.Rectangle
com.itextpdf.text.pdf.PdfPCell
All Implemented Interfaces:
Element, IAccessibleElement
Direct Known Subclasses:
HtmlCell, PdfPHeaderCell

public class PdfPCell extends Rectangle implements IAccessibleElement
A cell in a PdfPTable.
  • Field Details

    • column

      private ColumnText column
    • verticalAlignment

      private int verticalAlignment
      Vertical alignment of the cell.
    • paddingLeft

      private float paddingLeft
      Left padding of the cell.
    • paddingRight

      private float paddingRight
      Right padding of the cell.
    • paddingTop

      private float paddingTop
      Top padding of the cell.
    • paddingBottom

      private float paddingBottom
      Bottom padding of the cell.
    • fixedHeight

      private float fixedHeight
      Fixed height of the cell.
    • calculatedHeight

      private float calculatedHeight
      Fixed height of the cell.
    • minimumHeight

      private float minimumHeight
      Minimum height of the cell.
    • cachedMaxHeight

      private float cachedMaxHeight
      This field is used to cache the height which is calculated on getMaxHeight() method call; this helps to avoid unnecessary recalculations on table drawing.
    • noWrap

      private boolean noWrap
      Holds value of property noWrap.
    • table

      private PdfPTable table
      Holds value of property table.
    • colspan

      private int colspan
      Holds value of property colspan.
    • rowspan

      private int rowspan
      Holds value of property rowspan.
      Since:
      2.1.6
    • image

      private Image image
      Holds value of property image.
    • cellEvent

      private PdfPCellEvent cellEvent
      Holds value of property cellEvent.
    • useDescender

      private boolean useDescender
      Holds value of property useDescender.
    • useBorderPadding

      private boolean useBorderPadding
      Increases padding to include border if true
    • phrase

      protected Phrase phrase
      The text in the cell.
    • rotation

      private int rotation
      The rotation of the cell. Possible values are 0, 90, 180 and 270.
    • role

      protected PdfName role
    • accessibleAttributes

      protected HashMap<PdfName,PdfObject> accessibleAttributes
    • id

      protected AccessibleElementId id
    • headers

      protected ArrayList<PdfPHeaderCell> headers
  • Constructor Details

    • PdfPCell

      public PdfPCell()
      Constructs an empty PdfPCell. The default padding is 2.
    • PdfPCell

      public PdfPCell(Phrase phrase)
      Constructs a PdfPCell with a Phrase. The default padding is 2.
      Parameters:
      phrase - the text
    • PdfPCell

      public PdfPCell(Image image)
      Constructs a PdfPCell with an Image. The default padding is 0.
      Parameters:
      image - the Image
    • PdfPCell

      public PdfPCell(Image image, boolean fit)
      Constructs a PdfPCell with an Image. The default padding is 0.25 for a border width of 0.5.
      Parameters:
      image - the Image
      fit - true to fit the image to the cell
    • PdfPCell

      public PdfPCell(PdfPTable table)
      Constructs a PdfPCell with a PdfPtable. This constructor allows nested tables. The default padding is 0.
      Parameters:
      table - The PdfPTable
    • PdfPCell

      public PdfPCell(PdfPTable table, PdfPCell style)
      Constructs a PdfPCell with a PdfPtable. This constructor allows nested tables.
      Parameters:
      table - The PdfPTable
      style - The style to apply to the cell (you could use getDefaultCell())
      Since:
      2.1.0
    • PdfPCell

      public PdfPCell(PdfPCell cell)
      Constructs a deep copy of a PdfPCell.
      Parameters:
      cell - the PdfPCell to duplicate
  • Method Details

    • addElement

      public void addElement(Element element)
      Adds an iText element to the cell.
      Parameters:
      element -
    • getPhrase

      public Phrase getPhrase()
      Gets the Phrase from this cell.
      Returns:
      the Phrase
    • setPhrase

      public void setPhrase(Phrase phrase)
      Sets the Phrase for this cell.
      Parameters:
      phrase - the Phrase
    • getHorizontalAlignment

      public int getHorizontalAlignment()
      Gets the horizontal alignment for the cell.
      Returns:
      the horizontal alignment for the cell
    • setHorizontalAlignment

      public void setHorizontalAlignment(int horizontalAlignment)
      Sets the horizontal alignment for the cell. It could be Element.ALIGN_CENTER for example.
      Parameters:
      horizontalAlignment - The horizontal alignment
    • getVerticalAlignment

      public int getVerticalAlignment()
      Gets the vertical alignment for the cell.
      Returns:
      the vertical alignment for the cell
    • setVerticalAlignment

      public void setVerticalAlignment(int verticalAlignment)
      Sets the vertical alignment for the cell. It could be Element.ALIGN_MIDDLE for example.
      Parameters:
      verticalAlignment - The vertical alignment
    • getEffectivePaddingLeft

      public float getEffectivePaddingLeft()
      Gets the effective left padding. This will include the left border width if isUseBorderPadding() is true.
      Returns:
      effective value of property paddingLeft.
    • getPaddingLeft

      public float getPaddingLeft()
      Returns:
      Value of property paddingLeft.
    • setPaddingLeft

      public void setPaddingLeft(float paddingLeft)
      Setter for property paddingLeft.
      Parameters:
      paddingLeft - New value of property paddingLeft.
    • getEffectivePaddingRight

      public float getEffectivePaddingRight()
      Gets the effective right padding. This will include the right border width if isUseBorderPadding() is true.
      Returns:
      effective value of property paddingRight.
    • getPaddingRight

      public float getPaddingRight()
      Getter for property paddingRight.
      Returns:
      Value of property paddingRight.
    • setPaddingRight

      public void setPaddingRight(float paddingRight)
      Setter for property paddingRight.
      Parameters:
      paddingRight - New value of property paddingRight.
    • getEffectivePaddingTop

      public float getEffectivePaddingTop()
      Gets the effective top padding. This will include the top border width if isUseBorderPadding() is true.
      Returns:
      effective value of property paddingTop.
    • getPaddingTop

      public float getPaddingTop()
      Getter for property paddingTop.
      Returns:
      Value of property paddingTop.
    • setPaddingTop

      public void setPaddingTop(float paddingTop)
      Setter for property paddingTop.
      Parameters:
      paddingTop - New value of property paddingTop.
    • getEffectivePaddingBottom

      public float getEffectivePaddingBottom()
      Gets the effective bottom padding. This will include the bottom border width if isUseBorderPadding() is true.
      Returns:
      effective value of property paddingBottom.
    • getPaddingBottom

      public float getPaddingBottom()
      Getter for property paddingBottom.
      Returns:
      Value of property paddingBottom.
    • setPaddingBottom

      public void setPaddingBottom(float paddingBottom)
      Setter for property paddingBottom.
      Parameters:
      paddingBottom - New value of property paddingBottom.
    • setPadding

      public void setPadding(float padding)
      Sets the padding of the contents in the cell (space between content and border).
      Parameters:
      padding -
    • isUseBorderPadding

      public boolean isUseBorderPadding()
      If true, then effective padding will include border widths
      Returns:
      true if effective padding includes border widths
    • setUseBorderPadding

      public void setUseBorderPadding(boolean use)
      Adjusts effective padding to include border widths.
      Parameters:
      use - adjust effective padding if true
    • setLeading

      public void setLeading(float fixedLeading, float multipliedLeading)
      Sets the leading fixed and variable. The resultant leading will be: fixedLeading+multipliedLeading*maxFontSize where maxFontSize is the size of the biggest font in the line.
      Parameters:
      fixedLeading - the fixed leading
      multipliedLeading - the variable leading
    • getLeading

      public float getLeading()
      Gets the fixed leading.
      Returns:
      the leading
    • getMultipliedLeading

      public float getMultipliedLeading()
      Gets the variable leading.
      Returns:
      the leading
    • setIndent

      public void setIndent(float indent)
      Sets the first paragraph line indent.
      Parameters:
      indent - the indent
    • getIndent

      public float getIndent()
      Gets the first paragraph line indent.
      Returns:
      the indent
    • getExtraParagraphSpace

      public float getExtraParagraphSpace()
      Gets the extra space between paragraphs.
      Returns:
      the extra space between paragraphs
    • setExtraParagraphSpace

      public void setExtraParagraphSpace(float extraParagraphSpace)
      Sets the extra space between paragraphs.
      Parameters:
      extraParagraphSpace - the extra space between paragraphs
    • setCalculatedHeight

      public void setCalculatedHeight(float calculatedHeight)
      Set a calculated height for the cell.
      Parameters:
      calculatedHeight - New value of property calculatedHeight.
    • getCalculatedHeight

      public float getCalculatedHeight()
      Get the calculated height of the cell.
      Returns:
      Value of property calculatedHeight.
    • hasCalculatedHeight

      public boolean hasCalculatedHeight()
      Tells you whether the height was calculated.
      Returns:
      true if the height was calculated.
    • setFixedHeight

      public void setFixedHeight(float fixedHeight)
      Set a fixed height for the cell. This will automatically unset minimumHeight, if set.
      Parameters:
      fixedHeight - New value of property fixedHeight.
    • getFixedHeight

      public float getFixedHeight()
      Get the fixed height of the cell.
      Returns:
      Value of property fixedHeight.
    • hasFixedHeight

      public boolean hasFixedHeight()
      Tells you whether the cell has a fixed height.
      Returns:
      true is a fixed height was set.
      Since:
      2.1.5
    • getCachedMaxHeight

      public float getCachedMaxHeight()
      Gets the height which was calculated on last call of getMaxHeight(). If cell's bBox and content wasn't changed this value is actual maxHeight of the cell.
      Returns:
      max height which was calculated on last call of getMaxHeight(); if getMaxHeight() wasn't called the return value is 0
    • hasCachedMaxHeight

      public boolean hasCachedMaxHeight()
    • setMinimumHeight

      public void setMinimumHeight(float minimumHeight)
      Set a minimum height for the cell. This will automatically unset fixedHeight, if set.
      Parameters:
      minimumHeight - New value of property minimumHeight.
    • getMinimumHeight

      public float getMinimumHeight()
      Get the minimum height of the cell.
      Returns:
      Value of property minimumHeight.
    • hasMinimumHeight

      public boolean hasMinimumHeight()
      Tells you whether the cell has a minimum height.
      Returns:
      true if a minimum height was set.
      Since:
      2.1.5
    • isNoWrap

      public boolean isNoWrap()
      Getter for property noWrap.
      Returns:
      Value of property noWrap.
    • setNoWrap

      public void setNoWrap(boolean noWrap)
      Setter for property noWrap.
      Parameters:
      noWrap - New value of property noWrap.
    • getTable

      public PdfPTable getTable()
      Getter for property table.
      Returns:
      Value of property table.
      Since:
      2.x
    • setTable

      void setTable(PdfPTable table)
    • getColspan

      public int getColspan()
      Getter for property colspan.
      Returns:
      Value of property colspan.
    • setColspan

      public void setColspan(int colspan)
      Setter for property colspan.
      Parameters:
      colspan - New value of property colspan.
    • getRowspan

      public int getRowspan()
      Getter for property rowspan.
      Returns:
      Value of property rowspan.
      Since:
      2.1.6
    • setRowspan

      public void setRowspan(int rowspan)
      Setter for property rowspan.
      Parameters:
      rowspan - New value of property rowspan.
      Since:
      2.1.6
    • setFollowingIndent

      public void setFollowingIndent(float indent)
      Sets the following paragraph lines indent.
      Parameters:
      indent - the indent
    • getFollowingIndent

      public float getFollowingIndent()
      Gets the following paragraph lines indent.
      Returns:
      the indent
    • setRightIndent

      public void setRightIndent(float indent)
      Sets the right paragraph lines indent.
      Parameters:
      indent - the indent
    • getRightIndent

      public float getRightIndent()
      Gets the right paragraph lines indent.
      Returns:
      the indent
    • getSpaceCharRatio

      public float getSpaceCharRatio()
      Gets the space/character extra spacing ratio for fully justified text.
      Returns:
      the space/character extra spacing ratio
    • setSpaceCharRatio

      public void setSpaceCharRatio(float spaceCharRatio)
      Sets the ratio between the extra word spacing and the extra character spacing when the text is fully justified. Extra word spacing will grow spaceCharRatio times more than extra character spacing. If the ratio is PdfWriter.NO_SPACE_CHAR_RATIO then the extra character spacing will be zero.
      Parameters:
      spaceCharRatio - the ratio between the extra word spacing and the extra character spacing
    • setRunDirection

      public void setRunDirection(int runDirection)
      Sets the run direction of the text content in the cell. May be either of: PdfWriter.RUN_DIRECTION_DEFAULT, PdfWriter.RUN_DIRECTION_NO_BIDI, PdfWriter.RUN_DIRECTION_LTR or PdfWriter.RUN_DIRECTION_RTL.
      Parameters:
      runDirection -
    • getRunDirection

      public int getRunDirection()
      Gets the run direction of the text content in the cell
      Returns:
      One of the following values: PdfWriter.RUN_DIRECTION_DEFAULT, PdfWriter.RUN_DIRECTION_NO_BIDI, PdfWriter.RUN_DIRECTION_LTR or PdfWriter.RUN_DIRECTION_RTL.
    • getImage

      public Image getImage()
      Getter for property image.
      Returns:
      Value of property image.
    • setImage

      public void setImage(Image image)
      Setter for property image.
      Parameters:
      image - New value of property image.
    • getCellEvent

      public PdfPCellEvent getCellEvent()
      Gets the cell event for this cell.
      Returns:
      the cell event
    • setCellEvent

      public void setCellEvent(PdfPCellEvent cellEvent)
      Sets the cell event for this cell.
      Parameters:
      cellEvent - the cell event
    • getArabicOptions

      public int getArabicOptions()
      Gets the arabic shaping options.
      Returns:
      the arabic shaping options
    • setArabicOptions

      public void setArabicOptions(int arabicOptions)
      Sets the arabic shaping options. The option can be AR_NOVOWEL, AR_COMPOSEDTASHKEEL and AR_LIG.
      Parameters:
      arabicOptions - the arabic shaping options
    • isUseAscender

      public boolean isUseAscender()
      Gets state of first line height based on max ascender
      Returns:
      true if an ascender is to be used.
    • setUseAscender

      public void setUseAscender(boolean useAscender)
      Enables/ Disables adjustment of first line height based on max ascender.
      Parameters:
      useAscender - adjust height if true
    • isUseDescender

      public boolean isUseDescender()
      Getter for property useDescender.
      Returns:
      Value of property useDescender.
    • setUseDescender

      public void setUseDescender(boolean useDescender)
      Setter for property useDescender.
      Parameters:
      useDescender - New value of property useDescender.
    • getColumn

      public ColumnText getColumn()
      Gets the ColumnText with the content of the cell.
      Returns:
      a columntext object
    • getCompositeElements

      public List<Element> getCompositeElements()
      Returns the list of composite elements of the column.
      Returns:
      a List object.
      Since:
      2.1.1
    • setColumn

      public void setColumn(ColumnText column)
      Sets the columntext in the cell.
      Parameters:
      column -
    • getRotation

      public int getRotation()
      Gets the rotation of the cell.
      Overrides:
      getRotation in class Rectangle
      Returns:
      the rotation of the cell.
    • setRotation

      public void setRotation(int rotation)
      Sets the rotation of the cell. Possible values are 0, 90, 180 and 270.
      Overrides:
      setRotation in class Rectangle
      Parameters:
      rotation - the rotation of the cell
    • getMaxHeight

      public float getMaxHeight()
      Returns the height of the cell.
      Returns:
      the height of the cell
      Since:
      3.0.0
    • getAccessibleAttribute

      public PdfObject getAccessibleAttribute(PdfName key)
      Description copied from interface: IAccessibleElement
      Get the attribute of accessible element (everything in A dictionary + Lang, Alt, ActualText, E).
      Specified by:
      getAccessibleAttribute in interface IAccessibleElement
      Returns:
    • setAccessibleAttribute

      public void setAccessibleAttribute(PdfName key, PdfObject value)
      Description copied from interface: IAccessibleElement
      Set the attribute of accessible element (everything in A dictionary + Lang, Alt, ActualText, E).
      Specified by:
      setAccessibleAttribute in interface IAccessibleElement
    • getAccessibleAttributes

      public HashMap<PdfName,PdfObject> getAccessibleAttributes()
      Description copied from interface: IAccessibleElement
      Gets all the properties of accessible element.
      Specified by:
      getAccessibleAttributes in interface IAccessibleElement
      Returns:
    • getRole

      public PdfName getRole()
      Description copied from interface: IAccessibleElement
      Gets the role of the accessible element.
      Specified by:
      getRole in interface IAccessibleElement
      Returns:
    • setRole

      public void setRole(PdfName role)
      Description copied from interface: IAccessibleElement
      Sets the role of the accessiblee element. Set role to null if you don't want to tag this element. Note that all child elements won't also be tagged.
      Specified by:
      setRole in interface IAccessibleElement
    • getId

      public AccessibleElementId getId()
      Specified by:
      getId in interface IAccessibleElement
    • setId

      public void setId(AccessibleElementId id)
      Specified by:
      setId in interface IAccessibleElement
    • isInline

      public boolean isInline()
      Specified by:
      isInline in interface IAccessibleElement
    • addHeader

      public void addHeader(PdfPHeaderCell header)
    • getHeaders

      public ArrayList<PdfPHeaderCell> getHeaders()