Package org.apache.poi.xslf.usermodel
Class XSLFTextShape
- java.lang.Object
 - 
- org.apache.poi.xslf.usermodel.XSLFShape
 - 
- org.apache.poi.xslf.usermodel.XSLFSimpleShape
 - 
- org.apache.poi.xslf.usermodel.XSLFTextShape
 
 
 
 
- 
- All Implemented Interfaces:
 java.lang.Iterable<XSLFTextParagraph>,IAdjustableShape,PlaceableShape<XSLFShape,XSLFTextParagraph>,Shape<XSLFShape,XSLFTextParagraph>,SimpleShape<XSLFShape,XSLFTextParagraph>,TextShape<XSLFShape,XSLFTextParagraph>,org.apache.poi.xddf.usermodel.text.TextContainer
- Direct Known Subclasses:
 XSLFAutoShape,XSLFTableCell
@Beta public abstract class XSLFTextShape extends XSLFSimpleShape implements org.apache.poi.xddf.usermodel.text.TextContainer, TextShape<XSLFShape,XSLFTextParagraph>
Represents a shape that can hold text. 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from interface org.apache.poi.sl.usermodel.TextShape
TextShape.TextAutofit, TextShape.TextDirection, TextShape.TextPlaceholder 
 - 
 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XSLFTextParagraphaddNewTextParagraph()add a new paragraph run to this shapeXSLFTextRunappendText(java.lang.String text, boolean newParagraph)Adds the supplied text onto the end of the TextParagraphs, creating a new RichTextRun for it to sit in.voidclearText()unset text from this shape<R> java.util.Optional<R>findDefinedParagraphProperty(java.util.function.Function<CTTextParagraphProperties,java.lang.Boolean> isSet, java.util.function.Function<CTTextParagraphProperties,R> getter)<R> java.util.Optional<R>findDefinedRunProperty(java.util.function.Function<CTTextCharacterProperties,java.lang.Boolean> isSet, java.util.function.Function<CTTextCharacterProperties,R> getter)doublegetBottomInset()Returns the distance (in points) between the bottom of the text frame and the bottom of the inscribed rectangle of the shape that contains the text.Insets2DgetInsets()doublegetLeftInset()Returns the distance (in points) between the left edge of the text frame and the left edge of the inscribed rectangle of the shape that contains the text.doublegetRightInset()Returns the distance (in points) between the right edge of the text frame and the right edge of the inscribed rectangle of the shape that contains the text.java.lang.StringgetText()Returns the text contained in this text frame, which has been made safe for printing and other use.TextShape.TextAutofitgetTextAutofit()org.apache.poi.xddf.usermodel.text.XDDFTextBodygetTextBody()TextShape.TextDirectiongetTextDirection()doublegetTextHeight()Compute the cumulative height occupied by the textdoublegetTextHeight(java.awt.Graphics2D graphics)Compute the cumulative height occupied by the textjava.util.List<XSLFTextParagraph>getTextParagraphs()TextShape.TextPlaceholdergetTextPlaceholder()java.lang.DoublegetTextRotation()The text rotation can be independent specified from the shape rotation.PlaceholdergetTextType()doublegetTopInset()Returns the distance (in points) between the top of the text frame and the top of the inscribed rectangle of the shape that contains the text.VerticalAlignmentgetVerticalAlignment()Returns the type of vertical alignment for the text.booleangetWordWrap()booleanisHorizontalCentered()Returns if the text is centered.java.util.Iterator<XSLFTextParagraph>iterator()java.awt.geom.Rectangle2DresizeToFitText()Adjust the size of the shape so it encompasses the text inside it.java.awt.geom.Rectangle2DresizeToFitText(java.awt.Graphics2D graphics)Adjust the size of the shape so it encompasses the text inside it.voidsetBottomInset(double margin)Sets the bottom margin.voidsetHorizontalCentered(java.lang.Boolean isCentered)Sets if the paragraphs are horizontal centeredvoidsetInsets(Insets2D insets)Sets the shape marginsvoidsetLeftInset(double margin)Sets the left margin.voidsetPlaceholder(Placeholder placeholder)Specifies that the corresponding shape should be represented by the generating application as a placeholder.voidsetRightInset(double margin)Sets the right margin.XSLFTextRunsetText(java.lang.String text)Sets (overwrites) the current text.voidsetTextAutofit(TextShape.TextAutofit value)Specifies that a shape should be auto-fit to fully contain the text described within it.voidsetTextDirection(TextShape.TextDirection orientation)sets the vertical orientationvoidsetTextPlaceholder(TextShape.TextPlaceholder placeholder)Sets the text placeholdervoidsetTextRotation(java.lang.Double rotation)Sets the text rotation.voidsetTopInset(double margin)Sets the top margin.voidsetVerticalAlignment(VerticalAlignment anchor)Sets the type of vertical alignment for the text.voidsetWordWrap(boolean wrap)- 
Methods inherited from class org.apache.poi.xslf.usermodel.XSLFSimpleShape
createHyperlink, getAdjustValue, getAnchor, getFillColor, getFillStyle, getFlipHorizontal, getFlipVertical, getGeometry, getHyperlink, getLineCap, getLineColor, getLineCompound, getLineDash, getLineDecoration, getLineHeadDecoration, getLineHeadLength, getLineHeadWidth, getLineTailDecoration, getLineTailLength, getLineTailWidth, getLineWidth, getRotation, getShadow, getShapeType, getStrokeStyle, setAnchor, setFillColor, setFlipHorizontal, setFlipVertical, setLineCap, setLineColor, setLineCompound, setLineDash, setLineHeadDecoration, setLineHeadLength, setLineHeadWidth, setLineTailDecoration, setLineTailLength, setLineTailWidth, setLineWidth, setRotation, setShapeType, setStrokeStyle 
- 
Methods inherited from class org.apache.poi.xslf.usermodel.XSLFShape
draw, getParent, getPlaceholder, getPlaceholderDetails, getShapeId, getShapeName, getSheet, getXmlObject, isPlaceholder, setParent 
- 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Methods inherited from interface org.apache.poi.sl.draw.geom.IAdjustableShape
getAdjustValue 
- 
Methods inherited from interface org.apache.poi.sl.usermodel.PlaceableShape
getAnchor, getFlipHorizontal, getFlipVertical, getParent, getRotation, getSheet, setAnchor, setFlipHorizontal, setFlipVertical, setRotation 
- 
Methods inherited from interface org.apache.poi.sl.usermodel.Shape
draw, getAnchor, getParent, getShapeId, getShapeName, getSheet 
- 
Methods inherited from interface org.apache.poi.sl.usermodel.SimpleShape
createHyperlink, getFillColor, getFillStyle, getGeometry, getHyperlink, getLineDecoration, getPlaceholder, getPlaceholderDetails, getShadow, getShapeType, getStrokeStyle, isPlaceholder, setFillColor, setShapeType, setStrokeStyle 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getTextBody
@Beta public org.apache.poi.xddf.usermodel.text.XDDFTextBody getTextBody()
 
- 
iterator
public java.util.Iterator<XSLFTextParagraph> iterator()
- Specified by:
 iteratorin interfacejava.lang.Iterable<XSLFTextParagraph>
 
- 
getText
public java.lang.String getText()
Description copied from interface:TextShapeReturns the text contained in this text frame, which has been made safe for printing and other use.- Specified by:
 getTextin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Returns:
 - the text string for this textbox.
 
 
- 
clearText
public void clearText()
unset text from this shape 
- 
setText
public XSLFTextRun setText(java.lang.String text)
Description copied from interface:TextShapeSets (overwrites) the current text. Uses the properties of the first paragraph / textrun. Text paragraphs are split by \\r or \\n. New lines within text run are split by \\u000b- Specified by:
 setTextin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Parameters:
 text- the text string used by this object.- Returns:
 - the last text run of the - potential split - text
 
 
- 
appendText
public XSLFTextRun appendText(java.lang.String text, boolean newParagraph)
Description copied from interface:TextShapeAdds the supplied text onto the end of the TextParagraphs, creating a new RichTextRun for it to sit in.- Specified by:
 appendTextin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Parameters:
 text- the text string to be appended.newParagraph- if true, a new paragraph will be added, which will contain the added text
 
- 
getTextParagraphs
public java.util.List<XSLFTextParagraph> getTextParagraphs()
- Specified by:
 getTextParagraphsin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Returns:
 - the TextParagraphs for this text box
 
 
- 
addNewTextParagraph
public XSLFTextParagraph addNewTextParagraph()
add a new paragraph run to this shape- Returns:
 - created paragraph run
 
 
- 
setVerticalAlignment
public void setVerticalAlignment(VerticalAlignment anchor)
Description copied from interface:TextShapeSets the type of vertical alignment for the text.- Specified by:
 setVerticalAlignmentin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Parameters:
 anchor- - the type of alignment. Anullvalues unsets this property.
 
- 
getVerticalAlignment
public VerticalAlignment getVerticalAlignment()
Description copied from interface:TextShapeReturns the type of vertical alignment for the text.- Specified by:
 getVerticalAlignmentin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Returns:
 - the type of vertical alignment
 
 
- 
setHorizontalCentered
public void setHorizontalCentered(java.lang.Boolean isCentered)
Description copied from interface:TextShapeSets if the paragraphs are horizontal centered- Specified by:
 setHorizontalCenteredin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Parameters:
 isCentered- true, if the paragraphs are horizontal centered Anullvalues unsets this property.
 
- 
isHorizontalCentered
public boolean isHorizontalCentered()
Description copied from interface:TextShapeReturns if the text is centered. If true and if the individual paragraph settings allow it, the whole text block will be displayed centered, i.e. its left and right margin will be maximized while still keeping the alignment of the paragraphs- Specified by:
 isHorizontalCenteredin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Returns:
 - true, if the text anchor is horizontal centered
 
 
- 
setTextDirection
public void setTextDirection(TextShape.TextDirection orientation)
Description copied from interface:TextShapesets the vertical orientation- Specified by:
 setTextDirectionin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Parameters:
 orientation- vertical orientation of the text
 
- 
getTextDirection
public TextShape.TextDirection getTextDirection()
- Specified by:
 getTextDirectionin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Returns:
 - vertical orientation of the text
 
 
- 
getTextRotation
public java.lang.Double getTextRotation()
Description copied from interface:TextShapeThe text rotation can be independent specified from the shape rotation. For XSLF this can be an arbitrary degree, for HSLF the degree is given in steps of 90 degrees- Specified by:
 getTextRotationin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Returns:
 - text rotation in degrees, returns null if no rotation is given
 
 
- 
setTextRotation
public void setTextRotation(java.lang.Double rotation)
Description copied from interface:TextShapeSets the text rotation. For XSLF this can ben an arbitrary degree, for HSLF the rotation is rounded to next 90 degree step- Specified by:
 setTextRotationin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Parameters:
 rotation- the text rotation, or null to unset the rotation
 
- 
getBottomInset
public double getBottomInset()
Returns the distance (in points) between the bottom of the text frame and the bottom of the inscribed rectangle of the shape that contains the text.- Returns:
 - the bottom inset in points
 
 
- 
getLeftInset
public double getLeftInset()
Returns the distance (in points) between the left edge of the text frame and the left edge of the inscribed rectangle of the shape that contains the text.- Returns:
 - the left inset in points
 
 
- 
getRightInset
public double getRightInset()
Returns the distance (in points) between the right edge of the text frame and the right edge of the inscribed rectangle of the shape that contains the text.- Returns:
 - the right inset in points
 
 
- 
getTopInset
public double getTopInset()
Returns the distance (in points) between the top of the text frame and the top of the inscribed rectangle of the shape that contains the text.- Returns:
 - the top inset in points
 
 
- 
setBottomInset
public void setBottomInset(double margin)
Sets the bottom margin.- Parameters:
 margin- the bottom margin- See Also:
 getBottomInset()
 
- 
setLeftInset
public void setLeftInset(double margin)
Sets the left margin.- Parameters:
 margin- the left margin- See Also:
 getLeftInset()
 
- 
setRightInset
public void setRightInset(double margin)
Sets the right margin.- Parameters:
 margin- the right margin- See Also:
 getRightInset()
 
- 
setTopInset
public void setTopInset(double margin)
Sets the top margin.- Parameters:
 margin- the top margin- See Also:
 getTopInset()
 
- 
getInsets
public Insets2D getInsets()
- Specified by:
 getInsetsin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Returns:
 - text shape margin
 
 
- 
setInsets
public void setInsets(Insets2D insets)
Description copied from interface:TextShapeSets the shape margins- Specified by:
 setInsetsin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Parameters:
 insets- the new shape margins
 
- 
getWordWrap
public boolean getWordWrap()
- Specified by:
 getWordWrapin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Returns:
 - whether to wrap words within the bounding rectangle
 
 
- 
setWordWrap
public void setWordWrap(boolean wrap)
- Specified by:
 setWordWrapin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Parameters:
 wrap- whether to wrap words within the bounding rectangle
 
- 
setTextAutofit
public void setTextAutofit(TextShape.TextAutofit value)
Specifies that a shape should be auto-fit to fully contain the text described within it. Auto-fitting is when text within a shape is scaled in order to contain all the text inside- Parameters:
 value- type of autofit
 
- 
getTextAutofit
public TextShape.TextAutofit getTextAutofit()
- Returns:
 - type of autofit
 
 
- 
setPlaceholder
public void setPlaceholder(Placeholder placeholder)
Description copied from interface:SimpleShapeSpecifies that the corresponding shape should be represented by the generating application as a placeholder. When a shape is considered a placeholder by the generating application it can have special properties to alert the user that they may enter content into the shape.- Specified by:
 setPlaceholderin interfaceSimpleShape<XSLFShape,XSLFTextParagraph>- Overrides:
 setPlaceholderin classXSLFShape- Parameters:
 placeholder- the placeholder or null to remove the reference to the placeholder- See Also:
 PlaceholderDetails.setPlaceholder(Placeholder)
 
- 
getTextType
public Placeholder getTextType()
 
- 
getTextHeight
public double getTextHeight()
Description copied from interface:TextShapeCompute the cumulative height occupied by the text- Specified by:
 getTextHeightin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Returns:
 - the cumulative height occupied by the text
 
 
- 
getTextHeight
public double getTextHeight(java.awt.Graphics2D graphics)
Description copied from interface:TextShapeCompute the cumulative height occupied by the text- Specified by:
 getTextHeightin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Parameters:
 graphics- a customized graphics context, e.g. which contains font mappings- Returns:
 - the cumulative height occupied by the text
 
 
- 
resizeToFitText
public java.awt.geom.Rectangle2D resizeToFitText()
Description copied from interface:TextShapeAdjust the size of the shape so it encompasses the text inside it.- Specified by:
 resizeToFitTextin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Returns:
 - a 
Rectangle2Dthat is the bounds of this shape. 
 
- 
resizeToFitText
public java.awt.geom.Rectangle2D resizeToFitText(java.awt.Graphics2D graphics)
Description copied from interface:TextShapeAdjust the size of the shape so it encompasses the text inside it.- Specified by:
 resizeToFitTextin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Parameters:
 graphics- a customized graphics context, e.g. which contains font mappings- Returns:
 - a 
Rectangle2Dthat is the bounds of this shape. 
 
- 
setTextPlaceholder
public void setTextPlaceholder(TextShape.TextPlaceholder placeholder)
Description copied from interface:TextShapeSets the text placeholder- Specified by:
 setTextPlaceholderin interfaceTextShape<XSLFShape,XSLFTextParagraph>
 
- 
getTextPlaceholder
public TextShape.TextPlaceholder getTextPlaceholder()
- Specified by:
 getTextPlaceholderin interfaceTextShape<XSLFShape,XSLFTextParagraph>- Returns:
 - the text placeholder
 
 
- 
findDefinedParagraphProperty
public <R> java.util.Optional<R> findDefinedParagraphProperty(java.util.function.Function<CTTextParagraphProperties,java.lang.Boolean> isSet, java.util.function.Function<CTTextParagraphProperties,R> getter)
- Specified by:
 findDefinedParagraphPropertyin interfaceorg.apache.poi.xddf.usermodel.text.TextContainer
 
- 
findDefinedRunProperty
public <R> java.util.Optional<R> findDefinedRunProperty(java.util.function.Function<CTTextCharacterProperties,java.lang.Boolean> isSet, java.util.function.Function<CTTextCharacterProperties,R> getter)
- Specified by:
 findDefinedRunPropertyin interfaceorg.apache.poi.xddf.usermodel.text.TextContainer
 
 - 
 
 -