Class XSSFTextParagraph

java.lang.Object
org.apache.poi.xssf.usermodel.XSSFTextParagraph
All Implemented Interfaces:
Iterable<XSSFTextRun>

public class XSSFTextParagraph extends Object implements Iterable<XSSFTextRun>
Represents a paragraph of text within the containing text body. The paragraph is the highest level text separation mechanism.
  • Method Details

    • getText

      public String getText()
    • getXmlObject

      @Internal public org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph getXmlObject()
    • getParentShape

      @Internal public org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTShape getParentShape()
    • getTextRuns

      public List<XSSFTextRun> getTextRuns()
    • iterator

      public Iterator<XSSFTextRun> iterator()
      Specified by:
      iterator in interface Iterable<XSSFTextRun>
    • addNewTextRun

      public XSSFTextRun addNewTextRun()
      Add a new run of text
      Returns:
      a new run of text
    • addLineBreak

      public XSSFTextRun addLineBreak()
      Insert a line break
      Returns:
      text run representing this line break ('\n')
    • getTextAlign

      public TextAlign getTextAlign()
      Returns the alignment that is applied to the paragraph. If this attribute is omitted, then a value of left is implied.
      Returns:
      alignment that is applied to the paragraph
    • setTextAlign

      public void setTextAlign(TextAlign align)
      Specifies the alignment that is to be applied to the paragraph. Possible values for this include left, right, centered, justified and distributed, see TextAlign.
      Parameters:
      align - text align
    • getTextFontAlign

      public TextFontAlign getTextFontAlign()
      Returns where vertically on a line of text the actual words are positioned. This deals with vertical placement of the characters with respect to the baselines. If this attribute is omitted, then a value of baseline is implied.
      Returns:
      alignment that is applied to the paragraph
    • setTextFontAlign

      public void setTextFontAlign(TextFontAlign align)
      Determines where vertically on a line of text the actual words are positioned. This deals with vertical placement of the characters with respect to the baselines. For instance having text anchored to the top baseline, anchored to the bottom baseline, centered in between, etc.
      Parameters:
      align - text font align
    • getBulletFont

      public String getBulletFont()
      Returns:
      the font to be used on bullet characters within a given paragraph
    • setBulletFont

      public void setBulletFont(String typeface)
    • getBulletCharacter

      public String getBulletCharacter()
      Returns:
      the character to be used in place of the standard bullet point
    • setBulletCharacter

      public void setBulletCharacter(String str)
    • getBulletFontColor

      public Color getBulletFontColor()
      Returns:
      the color of bullet characters within a given paragraph. A null value means to use the text font color.
    • setBulletFontColor

      public void setBulletFontColor(Color color)
      Set the color to be used on bullet characters within a given paragraph.
      Parameters:
      color - the bullet color
    • getBulletFontSize

      public double getBulletFontSize()
      Returns the bullet size that is to be used within a paragraph. This may be specified in two different ways, percentage spacing and font point spacing:

      If bulletSize >= 0, then bulletSize is a percentage of the font size. If bulletSize < 0, then it specifies the size in points

      Returns:
      the bullet size
    • setBulletFontSize

      public void setBulletFontSize(double bulletSize)
      Sets the bullet size that is to be used within a paragraph. This may be specified in two different ways, percentage spacing and font point spacing:

      If bulletSize >= 0, then bulletSize is a percentage of the font size. If bulletSize < 0, then it specifies the size in points

    • setIndent

      public void setIndent(double value)
      Specifies the indent size that will be applied to the first line of text in the paragraph.
      Parameters:
      value - the indent in points, -1 to unset indent and use the default of 0.
    • getIndent

      public double getIndent()
      Returns:
      the indent applied to the first line of text in the paragraph.
    • setLeftMargin

      public void setLeftMargin(double value)
      Specifies the left margin of the paragraph. This is specified in addition to the text body inset and applies only to this text paragraph. That is the text body inset and the LeftMargin attributes are additive with respect to the text position.
      Parameters:
      value - the left margin of the paragraph, -1 to clear the margin and use the default of 0.
    • getLeftMargin

      public double getLeftMargin()
      Returns:
      the left margin of the paragraph
    • setRightMargin

      public void setRightMargin(double value)
      Specifies the right margin of the paragraph. This is specified in addition to the text body inset and applies only to this text paragraph. That is the text body inset and the marR attributes are additive with respect to the text position.
      Parameters:
      value - the right margin of the paragraph, -1 to clear the margin and use the default of 0.
    • getRightMargin

      public double getRightMargin()
      Returns:
      the right margin of the paragraph
    • getDefaultTabSize

      public double getDefaultTabSize()
      Returns:
      the default size for a tab character within this paragraph in points
    • getTabStop

      public double getTabStop(int idx)
    • addTabStop

      public void addTabStop(double value)
      Add a single tab stop to be used on a line of text when there are one or more tab characters present within the text.
      Parameters:
      value - the position of the tab stop relative to the left margin
    • setLineSpacing

      public void setLineSpacing(double linespacing)
      This element specifies the vertical line spacing that is to be used within a paragraph. This may be specified in two different ways, percentage spacing and font point spacing:

      If linespacing >= 0, then linespacing is a percentage of normal line height If linespacing < 0, the absolute value of linespacing is the spacing in points

      Examples:
      
            // spacing will be 120% of the size of the largest text on each line
            paragraph.setLineSpacing(120);
      
            // spacing will be 200% of the size of the largest text on each line
            paragraph.setLineSpacing(200);
      
            // spacing will be 48 points
            paragraph.setLineSpacing(-48.0);
       
      Parameters:
      linespacing - the vertical line spacing
    • getLineSpacing

      public double getLineSpacing()
      Returns the vertical line spacing that is to be used within a paragraph. This may be specified in two different ways, percentage spacing and font point spacing:

      If linespacing >= 0, then linespacing is a percentage of normal line height. If linespacing < 0, the absolute value of linespacing is the spacing in points

      Returns:
      the vertical line spacing.
    • setSpaceBefore

      public void setSpaceBefore(double spaceBefore)
      Set the amount of vertical white space that will be present before the paragraph. This space is specified in either percentage or points:

      If spaceBefore >= 0, then space is a percentage of normal line height. If spaceBefore < 0, the absolute value of linespacing is the spacing in points

      Examples:
      
            // The paragraph will be formatted to have a spacing before the paragraph text.
            // The spacing will be 200% of the size of the largest text on each line
            paragraph.setSpaceBefore(200);
      
            // The spacing will be a size of 48 points
            paragraph.setSpaceBefore(-48.0);
       
      Parameters:
      spaceBefore - the vertical white space before the paragraph.
    • getSpaceBefore

      public double getSpaceBefore()
      The amount of vertical white space before the paragraph This may be specified in two different ways, percentage spacing and font point spacing:

      If spaceBefore >= 0, then space is a percentage of normal line height. If spaceBefore < 0, the absolute value of linespacing is the spacing in points

      Returns:
      the vertical white space before the paragraph
    • setSpaceAfter

      public void setSpaceAfter(double spaceAfter)
      Set the amount of vertical white space that will be present after the paragraph. This space is specified in either percentage or points:

      If spaceAfter >= 0, then space is a percentage of normal line height. If spaceAfter < 0, the absolute value of linespacing is the spacing in points

      Examples:
      
            // The paragraph will be formatted to have a spacing after the paragraph text.
            // The spacing will be 200% of the size of the largest text on each line
            paragraph.setSpaceAfter(200);
      
            // The spacing will be a size of 48 points
            paragraph.setSpaceAfter(-48.0);
       
      Parameters:
      spaceAfter - the vertical white space after the paragraph.
    • getSpaceAfter

      public double getSpaceAfter()
      The amount of vertical white space after the paragraph This may be specified in two different ways, percentage spacing and font point spacing:

      If spaceBefore >= 0, then space is a percentage of normal line height. If spaceBefore < 0, the absolute value of linespacing is the spacing in points

      Returns:
      the vertical white space after the paragraph
    • setLevel

      public void setLevel(int level)
      Specifies the particular level text properties that this paragraph will follow. The value for this attribute formats the text according to the corresponding level paragraph properties defined in the list of styles associated with the body of text that this paragraph belongs to (therefore in the parent shape).

      Note that the closest properties object to the text is used, therefore if there is a conflict between the text paragraph properties and the list style properties for this level then the text paragraph properties will take precedence.

      Parameters:
      level - the level (0 ... 4)
    • getLevel

      public int getLevel()
      Returns the level of text properties that this paragraph will follow.
      Returns:
      the text level of this paragraph (0-based). Default is 0.
    • isBullet

      public boolean isBullet()
      Returns whether this paragraph has bullets
    • setBullet

      public void setBullet(boolean flag)
      Set or unset this paragraph as a bullet point
      Parameters:
      flag - whether text in this paragraph has bullets
    • setBullet

      public void setBullet(ListAutoNumber scheme, int startAt)
      Set this paragraph as an automatic numbered bullet point
      Parameters:
      scheme - type of auto-numbering
      startAt - the number that will start number for a given sequence of automatically numbered bullets (1-based).
    • setBullet

      public void setBullet(ListAutoNumber scheme)
      Set this paragraph as an automatic numbered bullet point
      Parameters:
      scheme - type of auto-numbering
    • isBulletAutoNumber

      public boolean isBulletAutoNumber()
      Returns whether this paragraph has automatic numbered bullets
    • getBulletAutoNumberStart

      public int getBulletAutoNumberStart()
      Returns the starting number if this paragraph has automatic numbered bullets, otherwise returns 0
    • getBulletAutoNumberScheme

      public ListAutoNumber getBulletAutoNumberScheme()
      Returns the auto number scheme if this paragraph has automatic numbered bullets, otherwise returns ListAutoNumber.ARABIC_PLAIN
    • toString

      public String toString()
      Overrides:
      toString in class Object