Class XSLFTextParagraph
- java.lang.Object
-
- 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XSLFTextRun
addLineBreak()
Insert a line breakXSLFTextRun
addNewTextRun()
Add a new run of textvoid
addTabStop(double value)
void
addTabStops(double positionInPoints, TabStop.TabStopType tabStopType)
Set theTabStop
collectionvoid
clearTabStops()
Removes the tabstops of this paragraphs.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.util.List<XSLFTabStop>
getTabStops()
Get theTabStops
- the list can't be and it's entries shouldn't be modified.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 textCTTextParagraph
getXmlObject()
boolean
isBullet()
Returns whether this paragraph has bulletsboolean
isHeaderOrFooter()
Convenience method to determine if this text paragraph is part of the slide header or footerjava.util.Iterator<XSLFTextRun>
iterator()
void
setBullet(boolean flag)
void
setBulletAutoNumber(AutoNumberingScheme scheme, int startAt)
Specifies that automatic numbered bullet points should be applied to this paragraphvoid
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()
-
-
-
Method Detail
-
getText
public java.lang.String getText()
-
getXmlObject
@Internal public CTTextParagraph getXmlObject()
-
getParentShape
public XSLFTextShape getParentShape()
- Specified by:
getParentShape
in interfaceTextParagraph<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 interfaceTextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
-
iterator
public java.util.Iterator<XSLFTextRun> iterator()
- Specified by:
iterator
in interfacejava.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 valueTextParagraph.TextAlign.LEFT
then.- Specified by:
getTextAlign
in interfaceTextParagraph<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, seeTextParagraph.TextAlign
.- Specified by:
setTextAlign
in interfaceTextParagraph<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 ofTextParagraph.FontAlign.AUTO
- Specified by:
getFontAlign
in interfaceTextParagraph<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. seeTextParagraph.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 interfaceTextParagraph<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 interfaceTextParagraph<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 interfaceTextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
- Parameters:
leftMargin
- the left margin (in points) or null to unset
-
getLeftMargin
public java.lang.Double getLeftMargin()
- Specified by:
getLeftMargin
in interfaceTextParagraph<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 interfaceTextParagraph<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 interfaceTextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
- Returns:
- the right margin of the paragraph, null if unset
-
getDefaultTabSize
public java.lang.Double getDefaultTabSize()
- Specified by:
getDefaultTabSize
in interfaceTextParagraph<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 interfaceTextParagraph<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 interfaceTextParagraph<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 interfaceTextParagraph<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 interfaceTextParagraph<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 interfaceTextParagraph<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 interfaceTextParagraph<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 interfaceTextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
- Parameters:
level
- the level (0 ... 4)
-
getIndentLevel
public int getIndentLevel()
- Specified by:
getIndentLevel
in interfaceTextParagraph<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-numberingstartAt
- 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 classjava.lang.Object
-
getDefaultFontSize
public java.lang.Double getDefaultFontSize()
- Specified by:
getDefaultFontSize
in interfaceTextParagraph<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 interfaceTextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
-
getBulletStyle
public TextParagraph.BulletStyle getBulletStyle()
- Specified by:
getBulletStyle
in interfaceTextParagraph<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 interfaceTextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
-
getTabStops
public java.util.List<XSLFTabStop> getTabStops()
Description copied from interface:TextParagraph
Get theTabStops
- 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 interfaceTextParagraph<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 theTabStop
collection- Specified by:
addTabStops
in interfaceTextParagraph<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 interfaceTextParagraph<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 interfaceTextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>
- Returns:
- true if this paragraph is part of a header or footer placeholder
-
-