Class HSLFTextParagraph
- java.lang.Object
-
- org.apache.poi.hslf.usermodel.HSLFTextParagraph
-
- All Implemented Interfaces:
java.lang.Iterable<HSLFTextRun>,TextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>
public final class HSLFTextParagraph extends java.lang.Object implements TextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>
This class represents a run of text in a powerpoint document. That run could be text on a sheet, or text in a note. It is only a very basic class for now
-
-
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 Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTabStops(double positionInPoints, TabStop.TabStopType tabStopType)Set theTabStopcollectionvoidaddTextRun(HSLFTextRun run)voidclearTabStops()Removes the tabstops of this paragraphs.TextRulerAtomcreateTextRuler()static java.util.List<java.util.List<HSLFTextParagraph>>findTextParagraphs(PPDrawing ppdrawing, HSLFSheet sheet)For a given PPDrawing, grab all the TextRunsAutoNumberingSchemegetAutoNumberingScheme()java.lang.IntegergetAutoNumberingStartAt()java.lang.CharactergetBulletChar()Returns the bullet characterjava.awt.ColorgetBulletColor()Returns the bullet colorjava.lang.StringgetBulletFont()Returns the bullet fontjava.lang.DoublegetBulletSize()Returns the bullet size, null if unsetTextParagraph.BulletStylegetBulletStyle()java.lang.StringgetDefaultFontFamily()java.lang.DoublegetDefaultFontSize()java.lang.DoublegetDefaultTabSize()TextParagraph.FontAligngetFontAlign()Returns the font alignment that is applied to the paragraph.java.lang.DoublegetIndent()intgetIndentLevel()java.lang.DoublegetLeftMargin()java.lang.DoublegetLineSpacing()Returns the vertical line spacing that is to be used within a paragraph.TextPropCollectiongetParagraphStyle()HSLFTextShapegetParentShape()static java.lang.StringgetRawText(java.util.List<HSLFTextParagraph> paragraphs)Record[]getRecords()Returns records that make up the list of text paragraphs (there can be misc InteractiveInfo, TxInteractiveInfo and other records)java.lang.DoublegetRightMargin()Specifies the right margin of the paragraph.intgetRunType()Returns the type of the text, from the TextHeaderAtom.HSLFSheetgetSheet()java.lang.DoublegetSpaceAfter()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.DoublegetSpaceBefore()The amount of vertical white space before the paragraph This may be specified in two different ways, percentage spacing and font point spacing:StyleTextProp9AtomgetStyleTextProp9Atom()Numbered List infojava.util.List<? extends TabStop>getTabStops()Get theTabStops- the list can't be and it's entries shouldn't be modified.static java.lang.StringgetText(java.util.List<HSLFTextParagraph> paragraphs)TextParagraph.TextAligngetTextAlign()Returns the alignment that is applied to the paragraph.EscherTextboxWrappergetTextboxWrapper()TextRulerAtomgetTextRuler()java.util.List<HSLFTextRun>getTextRuns()Fetch the text runs that are contained within this block of textbooleanisBullet()Returns whether this rich text run has bulletsbooleanisDirty()booleanisDrawingBased()Is this Text Run one from aPPDrawing, or is it one from theSlideListWithText?booleanisHeaderOrFooter()Convenience method to determine if this text paragraph is part of the slide header or footerjava.util.Iterator<HSLFTextRun>iterator()voidsetBullet(boolean flag)Sets whether this rich text run has bulletsvoidsetBulletChar(java.lang.Character c)Sets the bullet charactervoidsetBulletColor(java.awt.Color color)Sets the bullet colorvoidsetBulletFont(java.lang.String typeface)Sets the bullet fontvoidsetBulletSize(java.lang.Double size)Sets the bullet sizevoidsetBulletStyle(java.lang.Object... styles)Sets the bullet styles.voidsetDirty()marks this paragraph dirty, so its records will be renewed on savevoidsetIndent(java.lang.Double indent)Specifies the indent size that will be applied to the first line of text in the paragraph.voidsetIndentLevel(int level)Specifies the particular level text properties that this paragraph will follow.voidsetLeftMargin(java.lang.Double leftMargin)Specifies the left margin of the paragraph.voidsetLineSpacing(java.lang.Double lineSpacing)This element specifies the vertical line spacing that is to be used within a paragraph.voidsetParagraphStyle(TextPropCollection paragraphStyle)voidsetParagraphTextPropVal(java.lang.String propName, java.lang.Integer val)Sets the value of the given Paragraph TextProp, add if requiredvoidsetParentShape(HSLFTextShape parentShape)voidsetRightMargin(java.lang.Double rightMargin)voidsetRunType(int runType)voidsetSpaceAfter(java.lang.Double spaceAfter)Set the amount of vertical white space that will be present after the paragraph.voidsetSpaceBefore(java.lang.Double spaceBefore)Set the amount of vertical white space that will be present before the paragraph.voidsetStyleTextProp9Atom(StyleTextProp9Atom styleTextProp9Atom)Numbered List infostatic HSLFTextRunsetText(java.util.List<HSLFTextParagraph> paragraphs, java.lang.String text)Sets (overwrites) the current text.voidsetTextAlign(TextParagraph.TextAlign align)Specifies the alignment that is to be applied to the paragraph.static voidsupplySheet(java.util.List<HSLFTextParagraph> paragraphs, HSLFSheet sheet)Supply the Sheet we belong to, which might have an assigned SlideShow Also passes it on to our child RichTextRunsstatic java.lang.StringtoExternalString(java.lang.String rawText, int runType)Converts raw text from the text paragraphs to a formatted string, i.e.java.lang.StringtoString()
-
-
-
Method Detail
-
addTextRun
public void addTextRun(HSLFTextRun run)
-
getTextRuns
public java.util.List<HSLFTextRun> getTextRuns()
Description copied from interface:TextParagraphFetch the text runs that are contained within this block of text- Specified by:
getTextRunsin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>
-
getParagraphStyle
public TextPropCollection getParagraphStyle()
-
setParagraphStyle
public void setParagraphStyle(TextPropCollection paragraphStyle)
-
supplySheet
public static void supplySheet(java.util.List<HSLFTextParagraph> paragraphs, HSLFSheet sheet)
Supply the Sheet we belong to, which might have an assigned SlideShow Also passes it on to our child RichTextRuns
-
getSheet
public HSLFSheet getSheet()
-
getRunType
public int getRunType()
Returns the type of the text, from the TextHeaderAtom. Possible values can be seen from TextHeaderAtom- See Also:
TextHeaderAtom
-
setRunType
public void setRunType(int runType)
-
isDrawingBased
public boolean isDrawingBased()
Is this Text Run one from aPPDrawing, or is it one from theSlideListWithText?
-
getTextRuler
public TextRulerAtom getTextRuler()
-
createTextRuler
public TextRulerAtom createTextRuler()
-
getRecords
public Record[] getRecords()
Returns records that make up the list of text paragraphs (there can be misc InteractiveInfo, TxInteractiveInfo and other records)- Returns:
- text run records
-
setStyleTextProp9Atom
public void setStyleTextProp9Atom(StyleTextProp9Atom styleTextProp9Atom)
Numbered List info
-
getStyleTextProp9Atom
public StyleTextProp9Atom getStyleTextProp9Atom()
Numbered List info
-
iterator
public java.util.Iterator<HSLFTextRun> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<HSLFTextRun>
-
getLeftMargin
public java.lang.Double getLeftMargin()
- Specified by:
getLeftMarginin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- the left margin (in points) of the paragraph or null, if unset
-
setLeftMargin
public void setLeftMargin(java.lang.Double leftMargin)
Description copied from interface:TextParagraphSpecifies 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:
setLeftMarginin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Parameters:
leftMargin- the left margin (in points) or null to unset
-
getRightMargin
public java.lang.Double getRightMargin()
Description copied from interface:TextParagraphSpecifies 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:
getRightMarginin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- the right margin (in points) of the paragraph or null, if unset
-
setRightMargin
public void setRightMargin(java.lang.Double rightMargin)
- Specified by:
setRightMarginin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Parameters:
rightMargin- the right margin (in points) of the paragraph
-
getIndent
public java.lang.Double getIndent()
- Specified by:
getIndentin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- the indent (in points) applied to the first line of text in the paragraph. or null, if unset
-
setIndent
public void setIndent(java.lang.Double indent)
Description copied from interface:TextParagraphSpecifies the indent size that will be applied to the first line of text in the paragraph.- Specified by:
setIndentin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Parameters:
indent- the indent (in points) applied to the first line of text in the paragraph
-
getDefaultFontFamily
public java.lang.String getDefaultFontFamily()
- Specified by:
getDefaultFontFamilyin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>
-
getDefaultFontSize
public java.lang.Double getDefaultFontSize()
- Specified by:
getDefaultFontSizein interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- the default font size, in case its not set in the textrun or null, if unset
-
setTextAlign
public void setTextAlign(TextParagraph.TextAlign align)
Description copied from interface:TextParagraphSpecifies 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:
setTextAlignin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Parameters:
align- text align
-
getTextAlign
public TextParagraph.TextAlign getTextAlign()
Description copied from interface:TextParagraphReturns the alignment that is applied to the paragraph. If this attribute is omitted, then null is returned. User code can imply the valueTextParagraph.TextAlign.LEFTthen.- Specified by:
getTextAlignin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- alignment that is applied to the paragraph
-
getFontAlign
public TextParagraph.FontAlign getFontAlign()
Description copied from interface:TextParagraphReturns 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:
getFontAlignin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- alignment that is applied to the paragraph
-
getAutoNumberingScheme
public AutoNumberingScheme getAutoNumberingScheme()
-
getAutoNumberingStartAt
public java.lang.Integer getAutoNumberingStartAt()
-
getBulletStyle
public TextParagraph.BulletStyle getBulletStyle()
- Specified by:
getBulletStylein interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- the bullet style of the paragraph, if
nullthen no bullets are used
-
setBulletStyle
public void setBulletStyle(java.lang.Object... styles)
Description copied from interface:TextParagraphSets 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:
setBulletStylein interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>
-
getParentShape
public HSLFTextShape getParentShape()
- Specified by:
getParentShapein interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>
-
setParentShape
public void setParentShape(HSLFTextShape parentShape)
-
getIndentLevel
public int getIndentLevel()
- Specified by:
getIndentLevelin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- the text level of this paragraph (0-based). Default is 0.
-
setIndentLevel
public void setIndentLevel(int level)
Description copied from interface:TextParagraphSpecifies 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:
setIndentLevelin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Parameters:
level- the level (0 ... 4)
-
setBullet
public void setBullet(boolean flag)
Sets whether this rich text run has bullets
-
isBullet
public boolean isBullet()
Returns whether this rich text run has bullets
-
setBulletChar
public void setBulletChar(java.lang.Character c)
Sets the bullet character
-
getBulletChar
public java.lang.Character getBulletChar()
Returns the bullet character
-
setBulletSize
public void setBulletSize(java.lang.Double size)
Sets the bullet size
-
getBulletSize
public java.lang.Double getBulletSize()
Returns the bullet size, null if unset
-
setBulletColor
public void setBulletColor(java.awt.Color color)
Sets the bullet color
-
getBulletColor
public java.awt.Color getBulletColor()
Returns the bullet color
-
setBulletFont
public void setBulletFont(java.lang.String typeface)
Sets the bullet font
-
getBulletFont
public java.lang.String getBulletFont()
Returns the bullet font
-
setLineSpacing
public void setLineSpacing(java.lang.Double lineSpacing)
Description copied from interface:TextParagraphThis 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:
setLineSpacingin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Parameters:
lineSpacing- the vertical line spacing
-
getLineSpacing
public java.lang.Double getLineSpacing()
Description copied from interface:TextParagraphReturns 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:
getLineSpacingin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- the vertical line spacing or null, if unset
-
setSpaceBefore
public void setSpaceBefore(java.lang.Double spaceBefore)
Description copied from interface:TextParagraphSet 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:
setSpaceBeforein interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Parameters:
spaceBefore- the vertical white space before the paragraph, null to unset
-
getSpaceBefore
public java.lang.Double getSpaceBefore()
Description copied from interface:TextParagraphThe 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:
getSpaceBeforein interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- the vertical white space before the paragraph, or null if unset
-
setSpaceAfter
public void setSpaceAfter(java.lang.Double spaceAfter)
Description copied from interface:TextParagraphSet 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:
setSpaceAfterin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Parameters:
spaceAfter- the vertical white space after the paragraph, null to unset
-
getSpaceAfter
public java.lang.Double getSpaceAfter()
Description copied from interface:TextParagraphThe 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:
getSpaceAfterin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- the vertical white space after the paragraph or null, if unset
-
getDefaultTabSize
public java.lang.Double getDefaultTabSize()
- Specified by:
getDefaultTabSizein interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- the default size for a tab character within this paragraph in points, null if unset
-
getTabStops
public java.util.List<? extends TabStop> getTabStops()
Description copied from interface:TextParagraphGet 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:
getTabStopsin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- the tabstop collection or
nullif no tabstops are defined
-
addTabStops
public void addTabStops(double positionInPoints, TabStop.TabStopType tabStopType)Description copied from interface:TextParagraphSet theTabStopcollection- Specified by:
addTabStopsin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>
-
clearTabStops
public void clearTabStops()
Description copied from interface:TextParagraphRemoves the tabstops of this paragraphs. This doesn't affect inherited tabstops, e.g. inherited by the slide master- Specified by:
clearTabStopsin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>
-
setText
public static HSLFTextRun setText(java.util.List<HSLFTextParagraph> paragraphs, java.lang.String text)
Sets (overwrites) the current text. Uses the properties of the first paragraph / textrun- Parameters:
text- the text string used by this object.
-
getText
public static java.lang.String getText(java.util.List<HSLFTextParagraph> paragraphs)
-
getRawText
public static java.lang.String getRawText(java.util.List<HSLFTextParagraph> paragraphs)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
toExternalString
public static java.lang.String toExternalString(java.lang.String rawText, int runType)Converts raw text from the text paragraphs to a formatted string, i.e. it converts certain control characters used in the raw txt- Parameters:
rawText- the raw textrunType- the run type of the shape, paragraph or headerAtom. use -1 if unknown- Returns:
- the formatted string
-
findTextParagraphs
public static java.util.List<java.util.List<HSLFTextParagraph>> findTextParagraphs(PPDrawing ppdrawing, HSLFSheet sheet)
For a given PPDrawing, grab all the TextRuns
-
getTextboxWrapper
public EscherTextboxWrapper getTextboxWrapper()
-
setParagraphTextPropVal
public void setParagraphTextPropVal(java.lang.String propName, java.lang.Integer val)Sets the value of the given Paragraph TextProp, add if required- Parameters:
propName- The name of the Paragraph TextPropval- The value to set for the TextProp
-
setDirty
public void setDirty()
marks this paragraph dirty, so its records will be renewed on save
-
isDirty
public boolean isDirty()
-
isHeaderOrFooter
public boolean isHeaderOrFooter()
Convenience method to determine if this text paragraph is part of the slide header or footer- Specified by:
isHeaderOrFooterin interfaceTextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun>- Returns:
- true if this paragraph is part of a header or footer placeholder
- See Also:
RoundTripHFPlaceholder12
-
-