org.apache.poi.xslf.usermodel
Class XSLFTextParagraph

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

@Beta
public class XSLFTextParagraph
extends java.lang.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

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.poi.sl.usermodel.TextParagraph
TextParagraph.BulletStyle, TextParagraph.FontAlign, TextParagraph.TextAlign
 
Method Summary
 XSLFTextRun addLineBreak()
          Insert a line break
 XSLFTextRun addNewTextRun()
          Add a new run of text
 void addTabStop(double value)
           
 AutoNumberingScheme getAutoNumberingScheme()
           
 java.lang.Integer getAutoNumberingStartAt()
           
 java.lang.String getBulletCharacter()
           
 java.lang.String getBulletFont()
           
 PaintStyle getBulletFontColor()
           
 java.lang.Double getBulletFontSize()
          Returns the bullet size that is to be used within a paragraph.
 TextParagraph.BulletStyle getBulletStyle()
           
 java.lang.String getDefaultFontFamily()
           
 java.lang.Double getDefaultFontSize()
           
 java.lang.Double getDefaultTabSize()
           
 TextParagraph.FontAlign getFontAlign()
          Returns the font alignment that is applied to the paragraph.
 java.lang.Double getIndent()
           
 int getIndentLevel()
           
 java.lang.Double getLeftMargin()
           
 java.lang.Double getLineSpacing()
          Returns the vertical line spacing that is to be used within a paragraph.
 XSLFTextShape getParentShape()
           
 java.lang.Double getRightMargin()
          Specifies the right margin of the paragraph.
 java.lang.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:
 java.lang.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:
 double getTabStop(int idx)
           
 java.lang.String getText()
           
 TextParagraph.TextAlign getTextAlign()
          Returns the alignment that is applied to the paragraph.
 java.util.List<XSLFTextRun> getTextRuns()
          Fetch the text runs that are contained within this block of text
 org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph getXmlObject()
           
 boolean isBullet()
          Returns whether this paragraph has bullets
 boolean isHeaderOrFooter()
          Convenience method to determine if this text paragraph is part of the slide header or footer
 java.util.Iterator<XSLFTextRun> iterator()
           
protected  XSLFTextRun newTextRun(org.openxmlformats.schemas.drawingml.x2006.main.CTRegularTextRun r)
          Helper method to allow subclasses to provide their own text run
 void setBullet(boolean flag)
           
 void setBulletAutoNumber(AutoNumberingScheme scheme, int startAt)
          Specifies that automatic numbered bullet points should be applied to this paragraph
 void setBulletCharacter(java.lang.String str)
           
 void setBulletFont(java.lang.String typeface)
           
 void setBulletFontColor(java.awt.Color color)
           
 void setBulletFontColor(PaintStyle color)
          Set the color to be used on bullet characters within a given paragraph.
 void setBulletFontSize(double bulletSize)
          Sets the bullet size that is to be used within a paragraph.
 void setBulletStyle(java.lang.Object... styles)
          Sets the bullet styles.
 void setFontAlign(TextParagraph.FontAlign align)
          Specifies the font alignment that is to be applied to the paragraph.
 void setIndent(java.lang.Double indent)
          Specifies the indent size that will be applied to the first line of text in the paragraph.
 void setIndentLevel(int level)
          Specifies the particular level text properties that this paragraph will follow.
 void setLeftMargin(java.lang.Double leftMargin)
          Specifies the left margin of the paragraph.
 void setLineSpacing(java.lang.Double lineSpacing)
          This element specifies the vertical line spacing that is to be used within a paragraph.
 void setRightMargin(java.lang.Double rightMargin)
           
 void setSpaceAfter(java.lang.Double spaceAfter)
          Set the amount of vertical white space that will be present after the paragraph.
 void setSpaceBefore(java.lang.Double spaceBefore)
          Set the amount of vertical white space that will be present before the paragraph.
 void setTextAlign(TextParagraph.TextAlign align)
          Specifies the alignment that is to be applied to the paragraph.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getText

public java.lang.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 java.util.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 java.util.Iterator<XSLFTextRun> iterator()
Specified by:
iterator in interface java.lang.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 java.lang.String getBulletFont()
Returns:
the font to be used on bullet characters within a given paragraph

setBulletFont

public void setBulletFont(java.lang.String typeface)

getBulletCharacter

public java.lang.String getBulletCharacter()
Returns:
the character to be used in place of the standard bullet point

setBulletCharacter

public void setBulletCharacter(java.lang.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(java.awt.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 java.lang.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


getAutoNumberingScheme

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

getAutoNumberingStartAt

public java.lang.Integer getAutoNumberingStartAt()
Returns:
the auto numbering starting number, or null if not defined

setIndent

public void setIndent(java.lang.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 java.lang.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(java.lang.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 java.lang.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(java.lang.Double rightMargin)
Specified by:
setRightMargin in interface TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
Parameters:
rightMargin - the right margin (in points) of the paragraph

getRightMargin

public java.lang.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 java.lang.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(java.lang.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 < 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 java.lang.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 < 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(java.lang.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 < 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 java.lang.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 < 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(java.lang.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 < 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 java.lang.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 < 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 java.lang.String toString()
Overrides:
toString in class java.lang.Object

getDefaultFontSize

public java.lang.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 java.lang.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(java.lang.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>

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.openxmlformats.schemas.drawingml.x2006.main.CTRegularTextRun 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


Copyright 2017 The Apache Software Foundation or its licensors, as applicable.