Class XSLFTextParagraph

java.lang.Object
org.apache.poi.xslf.usermodel.XSLFTextParagraph
All Implemented Interfaces:
Iterable<XSLFTextRun>, TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>

@Beta public class XSLFTextParagraph extends Object implements TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
Represents a paragraph of text within the containing text body. The paragraph is the highest level text separation mechanism.
Since:
POI-3.8
  • Method Details

    • getText

      public String getText()
    • getXmlObject

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

      public XSLFTextShape getParentShape()
      Specified by:
      getParentShape in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
    • getTextRuns

      public List<XSLFTextRun> getTextRuns()
      Description copied from interface: TextParagraph
      Fetch the text runs that are contained within this block of text
      Specified by:
      getTextRuns in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
    • iterator

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

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

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

      public TextParagraph.TextAlign getTextAlign()
      Description copied from interface: TextParagraph
      Returns the alignment that is applied to the paragraph. If this attribute is omitted, then null is returned. User code can imply the value TextParagraph.TextAlign.LEFT then.
      Specified by:
      getTextAlign in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      alignment that is applied to the paragraph
    • setTextAlign

      public void setTextAlign(TextParagraph.TextAlign align)
      Description copied from interface: TextParagraph
      Specifies the alignment that is to be applied to the paragraph. Possible values for this include left, right, centered, justified and distributed, see TextParagraph.TextAlign.
      Specified by:
      setTextAlign in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Parameters:
      align - text align
    • getFontAlign

      public TextParagraph.FontAlign getFontAlign()
      Description copied from interface: TextParagraph
      Returns the font alignment that is applied to the paragraph. If this attribute is omitted, then null is return, user code can imply the a value of TextParagraph.FontAlign.AUTO
      Specified by:
      getFontAlign in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      alignment that is applied to the paragraph
    • setFontAlign

      public void setFontAlign(TextParagraph.FontAlign align)
      Specifies the font alignment that is to be applied to the paragraph. Possible values for this include auto, top, center, baseline and bottom. see TextParagraph.FontAlign.
      Parameters:
      align - 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 PaintStyle 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)
    • setBulletFontColor

      public void setBulletFontColor(PaintStyle 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 invalid input: '<' 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 invalid input: '<' 0, then it specifies the size in points

    • getAutoNumberingScheme

      public AutoNumberingScheme getAutoNumberingScheme()
      Returns:
      the auto numbering scheme, or null if not defined
    • getAutoNumberingStartAt

      public Integer getAutoNumberingStartAt()
      Returns:
      the auto numbering starting number, or null if not defined
    • setIndent

      public void setIndent(Double indent)
      Description copied from interface: TextParagraph
      Specifies the indent size that will be applied to the first line of text in the paragraph.
      Specified by:
      setIndent in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Parameters:
      indent - the indent (in points) applied to the first line of text in the paragraph
    • getIndent

      public Double getIndent()
      Specified by:
      getIndent in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      the indent (in points) applied to the first line of text in the paragraph. or null, if unset
    • setLeftMargin

      public void setLeftMargin(Double leftMargin)
      Description copied from interface: TextParagraph
      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.
      Specified by:
      setLeftMargin in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Parameters:
      leftMargin - the left margin (in points) or null to unset
    • getLeftMargin

      public Double getLeftMargin()
      Specified by:
      getLeftMargin in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      the left margin (in points) of the paragraph, null if unset
    • setRightMargin

      public void setRightMargin(Double rightMargin)
      Specified by:
      setRightMargin in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Parameters:
      rightMargin - the right margin (in points) of the paragraph
    • getRightMargin

      public Double getRightMargin()
      Description copied from interface: TextParagraph
      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 RightMargin attributes are additive with respect to the text position. The right margin is not support and therefore ignored by the HSLF implementation.
      Specified by:
      getRightMargin in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      the right margin of the paragraph, null if unset
    • getDefaultTabSize

      public Double getDefaultTabSize()
      Specified by:
      getDefaultTabSize in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      the default size for a tab character within this paragraph in points, null if unset
    • getTabStop

      public double getTabStop(int idx)
    • addTabStop

      public void addTabStop(double value)
    • setLineSpacing

      public void setLineSpacing(Double lineSpacing)
      Description copied from interface: TextParagraph
      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 invalid input: '<' 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);
       
      Specified by:
      setLineSpacing in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Parameters:
      lineSpacing - the vertical line spacing
    • getLineSpacing

      public Double getLineSpacing()
      Description copied from interface: TextParagraph
      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 invalid input: '<' 0, the absolute value of linespacing is the spacing in points

      Specified by:
      getLineSpacing in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      the vertical line spacing or null, if unset
    • setSpaceBefore

      public void setSpaceBefore(Double spaceBefore)
      Description copied from interface: TextParagraph
      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 invalid input: '<' 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);
       
      Specified by:
      setSpaceBefore in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Parameters:
      spaceBefore - the vertical white space before the paragraph, null to unset
    • getSpaceBefore

      public Double getSpaceBefore()
      Description copied from interface: TextParagraph
      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 invalid input: '<' 0, the absolute value in points

      Specified by:
      getSpaceBefore in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      the vertical white space before the paragraph, or null if unset
    • setSpaceAfter

      public void setSpaceAfter(Double spaceAfter)
      Description copied from interface: TextParagraph
      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 invalid input: '<' 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);
       
      Specified by:
      setSpaceAfter in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Parameters:
      spaceAfter - the vertical white space after the paragraph, null to unset
    • getSpaceAfter

      public Double getSpaceAfter()
      Description copied from interface: TextParagraph
      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 invalid input: '<' 0, the absolute value of linespacing is the spacing in points

      Specified by:
      getSpaceAfter in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      the vertical white space after the paragraph or null, if unset
    • setIndentLevel

      public void setIndentLevel(int level)
      Description copied from interface: TextParagraph
      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 SlideMaster.
      Specified by:
      setIndentLevel in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Parameters:
      level - the level (0 ... 4)
    • getIndentLevel

      public int getIndentLevel()
      Specified by:
      getIndentLevel in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      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)
      Parameters:
      flag - whether text in this paragraph has bullets
    • setBulletAutoNumber

      public void setBulletAutoNumber(AutoNumberingScheme scheme, int startAt)
      Specifies that automatic numbered bullet points should be applied to this paragraph
      Parameters:
      scheme - type of auto-numbering
      startAt - the number that will start number for a given sequence of automatically numbered bullets (1-based).
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getDefaultFontSize

      public Double getDefaultFontSize()
      Specified by:
      getDefaultFontSize in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      the default font size, in case its not set in the textrun or null, if unset
    • getDefaultFontFamily

      public String getDefaultFontFamily()
      Specified by:
      getDefaultFontFamily in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
    • getBulletStyle

      public TextParagraph.BulletStyle getBulletStyle()
      Specified by:
      getBulletStyle in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      the bullet style of the paragraph, if null then no bullets are used
    • setBulletStyle

      public void setBulletStyle(Object... styles)
      Description copied from interface: TextParagraph
      Sets the bullet styles. If no styles are given, the bullets are omitted. Possible attributes are integer/double (bullet size), Color (bullet color), character (bullet character), string (bullet font), AutoNumberingScheme
      Specified by:
      setBulletStyle in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Parameters:
      styles -
    • getTabStops

      public List<XSLFTabStop> getTabStops()
      Description copied from interface: TextParagraph
      Get the TabStops - the list can't be and it's entries shouldn't be modified. Opposed to other properties, this method is not cascading to the master sheet, if the property is not defined on the normal slide level, i.e. the tabstops on different levels aren't merged.
      Specified by:
      getTabStops in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      the tabstop collection or null if no tabstops are defined
    • addTabStops

      public void addTabStops(double positionInPoints, TabStop.TabStopType tabStopType)
      Description copied from interface: TextParagraph
      Set the TabStop collection
      Specified by:
      addTabStops in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
    • clearTabStops

      public void clearTabStops()
      Description copied from interface: TextParagraph
      Removes the tabstops of this paragraphs. This doesn't affect inherited tabstops, e.g. inherited by the slide master
      Specified by:
      clearTabStops in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
    • isHeaderOrFooter

      public boolean isHeaderOrFooter()
      Description copied from interface: TextParagraph
      Convenience method to determine if this text paragraph is part of the slide header or footer
      Specified by:
      isHeaderOrFooter in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
      Returns:
      true if this paragraph is part of a header or footer placeholder
    • newTextRun

      protected XSLFTextRun newTextRun(org.apache.xmlbeans.XmlObject r)
      Helper method to allow subclasses to provide their own text run
      Parameters:
      r - the xml reference
      Returns:
      a new text paragraph
      Since:
      POI 3.15-beta2
    • newTextRun

      protected XSLFTextRun newTextRun(org.openxmlformats.schemas.drawingml.x2006.main.CTTextLineBreak r)