Package com.itextpdf.text
Class Phrase
- All Implemented Interfaces:
Element
,TextElementArray
,Serializable
,Cloneable
,Iterable<Element>
,Collection<Element>
,List<Element>
,RandomAccess
,SequencedCollection<Element>
- Direct Known Subclasses:
Anchor
,NoNewLineParagraph
,Paragraph
A
Phrase
is a series of Chunk
s.
A Phrase
has a main Font
, but some chunks
within the phrase can have a Font
that differs from the
main Font
. All the Chunk
s in a Phrase
have the same leading
.
Example:
// When no parameters are passed, the default leading = 16 Phrase phrase0 = new Phrase(); Phrase phrase1 = new Phrase("this is a phrase"); // In this example the leading is passed as a parameter Phrase phrase2 = new Phrase(16, "this is a phrase with leading 16"); // When a Font is passed (explicitly or embedded in a chunk), the default leading = 1.5 * size of the font Phrase phrase3 = new Phrase("this is a phrase with a red, normal font Courier, size 12", FontFactory.getFont(FontFactory.COURIER, 12, Font.NORMAL, new Color(255, 0, 0))); Phrase phrase4 = new Phrase(new Chunk("this is a phrase")); Phrase phrase5 = new Phrase(18, new Chunk("this is a phrase", FontFactory.getFont(FontFactory.HELVETICA, 16, Font.BOLD, new Color(255, 0, 0)));
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Font
This is the font of this phrase.protected HyphenationEvent
Null, unless the Phrase has to be hyphenated.protected float
This is the leading of this phrase.protected float
The text leading that is multiplied by the biggest font size in the line.private static final long
protected TabSettings
Predefined tab position and properties(alignment, leader and etc.);Fields inherited from class java.util.AbstractList
modCount
Fields inherited from interface com.itextpdf.text.Element
ALIGN_BASELINE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_JUSTIFIED, ALIGN_JUSTIFIED_ALL, ALIGN_LEFT, ALIGN_MIDDLE, ALIGN_RIGHT, ALIGN_TOP, ALIGN_UNDEFINED, ANCHOR, ANNOTATION, AUTHOR, BODY, CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFBLOCK, CCITT_ENDOFLINE, CCITTG3_1D, CCITTG3_2D, CCITTG4, CHAPTER, CHUNK, CREATIONDATE, CREATOR, DIV, HEADER, IMGRAW, IMGTEMPLATE, JBIG2, JPEG, JPEG2000, KEYWORDS, LANGUAGE, LIST, LISTITEM, MARKED, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, SECTION, SUBJECT, TITLE, WRITABLE_DIRECT, YMARK
-
Constructor Summary
ConstructorsModifierConstructorDescriptionPhrase()
Constructs aPhrase
without specifying a leading.private
Phrase
(boolean dummy) Constructs a Phrase that can be used in the static getInstance() method.Phrase
(float leading) Constructs aPhrase
with a certain leading.Constructs aPhrase
with a certainChunk
and a certain leading.Constructs aPhrase
with a certain leading and a certainString
.Constructs aPhrase
with a certain leading, a certainString
and a certainFont
.Constructs aPhrase
with a certainChunk
.Copy constructor forPhrase
.Constructs aPhrase
with a certainString
.Constructs aPhrase
with a certainString
and a certainFont
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds aChunk
, anAnchor
or anotherPhrase
to thisPhrase
.boolean
Adds aChunk
,Anchor
or anotherPhrase
to thisPhrase
.boolean
Adds aString
to thisPhrase
.boolean
addAll
(Collection<? extends Element> collection) Adds a collection ofChunk
s to thisPhrase
.protected boolean
Adds a Chunk.protected void
addSpecial
(Element object) Adds anElement
to theParagraph
.Gets all the chunks in this element.Returns the content as a String object.getFont()
Gets the font of the firstChunk
that appears in thisPhrase
.Getter for the hyphenation settings.static final Phrase
getInstance
(int leading, String string) Gets a special kind of Phrase that changes some characters into corresponding symbols.static final Phrase
getInstance
(int leading, String string, Font font) Gets a special kind of Phrase that changes some characters into corresponding symbols.static final Phrase
getInstance
(String string) Gets a special kind of Phrase that changes some characters into corresponding symbols.float
Gets the leading of this phrase.float
Gets the variable leadingGetter for the tab stops settings.float
Gets the total leading.boolean
Checks you if the leading of this phrase is defined.boolean
Checks if this element is a content object.boolean
isEmpty()
Checks is thisPhrase
contains no or 1 emptyChunk
.boolean
Checks if this element is nestable.boolean
process
(ElementListener listener) Processes the element by adding it (or the different parts) to anElementListener
.void
Sets the main font of this phrase.void
setHyphenation
(HyphenationEvent hyphenation) Setter for the hyphenation.void
setLeading
(float fixedLeading) void
setLeading
(float fixedLeading, float multipliedLeading) Sets the leading fixed and variable.void
setMultipliedLeading
(float multipliedLeading) Sets the variable leading.void
setTabSettings
(TabSettings tabSettings) Setter for the tab stops.boolean
trim()
int
type()
Gets the type of the text element.Methods inherited from class java.util.ArrayList
addAll, addFirst, addLast, clear, clone, contains, ensureCapacity, equals, forEach, get, getFirst, getLast, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeFirst, removeIf, removeLast, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
Methods inherited from class java.util.AbstractCollection
containsAll, toString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, stream, toArray
Methods inherited from interface java.util.List
containsAll, reversed
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
leading
protected float leadingThis is the leading of this phrase. -
multipliedLeading
protected float multipliedLeadingThe text leading that is multiplied by the biggest font size in the line. -
font
This is the font of this phrase. -
hyphenation
Null, unless the Phrase has to be hyphenated.- Since:
- 2.1.2
-
tabSettings
Predefined tab position and properties(alignment, leader and etc.);- Since:
- 5.4.1
-
-
Constructor Details
-
Phrase
public Phrase()Constructs aPhrase
without specifying a leading. -
Phrase
Copy constructor forPhrase
.- Parameters:
phrase
- the Phrase to copy
-
Phrase
public Phrase(float leading) Constructs aPhrase
with a certain leading.- Parameters:
leading
- the leading
-
Phrase
Constructs aPhrase
with a certainChunk
.- Parameters:
chunk
- aChunk
-
Phrase
Constructs aPhrase
with a certainChunk
and a certain leading.- Parameters:
leading
- the leadingchunk
- aChunk
-
Phrase
Constructs aPhrase
with a certainString
.- Parameters:
string
- aString
-
Phrase
Constructs aPhrase
with a certainString
and a certainFont
.- Parameters:
string
- aString
font
- aFont
-
Phrase
Constructs aPhrase
with a certain leading and a certainString
.- Parameters:
leading
- the leadingstring
- aString
-
Phrase
Constructs aPhrase
with a certain leading, a certainString
and a certainFont
.- Parameters:
leading
- the leadingstring
- aString
font
- aFont
-
Phrase
private Phrase(boolean dummy) Constructs a Phrase that can be used in the static getInstance() method.- Parameters:
dummy
- a dummy parameter
-
-
Method Details
-
process
Processes the element by adding it (or the different parts) to anElementListener
. -
type
public int type()Gets the type of the text element. -
getChunks
Gets all the chunks in this element. -
isContent
public boolean isContent()Description copied from interface:Element
Checks if this element is a content object. If not, it's a metadata object. -
isNestable
public boolean isNestable()Description copied from interface:Element
Checks if this element is nestable.- Specified by:
isNestable
in interfaceElement
- Returns:
- true if this element can be nested inside other elements.
- Since:
- iText 2.0.8
- See Also:
-
add
Adds aChunk
, anAnchor
or anotherPhrase
to thisPhrase
.- Specified by:
add
in interfaceList<Element>
- Overrides:
add
in classArrayList<Element>
- Parameters:
index
- index at which the specified element is to be insertedelement
- an object of typeChunk
,Anchor
orPhrase
- Throws:
ClassCastException
- when you try to add something that isn't aChunk
,Anchor
orPhrase
- Since:
- 5.0.1 (signature changed to use Element)
-
add
Adds aString
to thisPhrase
.- Parameters:
s
- a string- Returns:
- a boolean
- Since:
- 5.0.1
-
add
Adds aChunk
,Anchor
or anotherPhrase
to thisPhrase
.- Specified by:
add
in interfaceCollection<Element>
- Specified by:
add
in interfaceList<Element>
- Specified by:
add
in interfaceTextElementArray
- Overrides:
add
in classArrayList<Element>
- Parameters:
element
- an object of typeChunk
,Anchor
orPhrase
- Returns:
- a boolean
- Throws:
ClassCastException
- when you try to add something that isn't aChunk
,Anchor
orPhrase
- Since:
- 5.0.1 (signature changed to use Element)
-
addAll
Adds a collection ofChunk
s to thisPhrase
.- Specified by:
addAll
in interfaceCollection<Element>
- Specified by:
addAll
in interfaceList<Element>
- Overrides:
addAll
in classArrayList<Element>
- Parameters:
collection
- a collection ofChunk
s,Anchor
s andPhrase
s.- Returns:
true
if the action succeeded,false
if not.- Throws:
ClassCastException
- when you try to add something that isn't aChunk
,Anchor
orPhrase
-
addChunk
Adds a Chunk.This method is a hack to solve a problem I had with phrases that were split between chunks in the wrong place.
- Parameters:
chunk
- a Chunk to add to the Phrase- Returns:
- true if adding the Chunk succeeded
-
addSpecial
Adds anElement
to theParagraph
.- Parameters:
object
- the object to add.
-
setLeading
public void setLeading(float fixedLeading, float multipliedLeading) Sets the leading fixed and variable. The resultant leading will be- If Phrase is added to the ColumnText: fixedLeading+multipliedLeading*maxFontSize, where maxFontSize is the size of the biggest font in the line;
- If Phrase is added to the PdfDocument: fixedLeading+multipliedLeading*phraseFontSize, where phraseFontSize is the size of the font applied to the current phrase.
- Parameters:
fixedLeading
- the fixed leadingmultipliedLeading
- the variable leading
-
setLeading
public void setLeading(float fixedLeading) - See Also:
-
setMultipliedLeading
public void setMultipliedLeading(float multipliedLeading) Sets the variable leading. The resultant leading will be- If Phrase is added to the ColumnText: fixedLeading+multipliedLeading*maxFontSize, where maxFontSize is the size of the biggest font in the line;
- If Phrase is added to the PdfDocument: fixedLeading+multipliedLeading*phraseFontSize, where phraseFontSize is the size of the font applied to the current phrase.
- Parameters:
multipliedLeading
- the variable leading
-
setFont
Sets the main font of this phrase.- Parameters:
font
- the new font
-
getLeading
public float getLeading()Gets the leading of this phrase.- Returns:
- the linespacing
-
getMultipliedLeading
public float getMultipliedLeading()Gets the variable leading- Returns:
- the leading
-
getTotalLeading
public float getTotalLeading()Gets the total leading. This method is based on the assumption that the font of the Paragraph is the font of all the elements that make part of the paragraph. This isn't necessarily true.- Returns:
- the total leading (fixed and multiplied)
-
hasLeading
public boolean hasLeading()Checks you if the leading of this phrase is defined.- Returns:
- true if the leading is defined
-
getFont
Gets the font of the firstChunk
that appears in thisPhrase
.- Returns:
- a
Font
-
getContent
Returns the content as a String object. This method differs from toString because toString will return an ArrayList with the toString value of the Chunks in this Phrase.- Returns:
- the content
-
isEmpty
public boolean isEmpty()Checks is thisPhrase
contains no or 1 emptyChunk
. -
getHyphenation
Getter for the hyphenation settings.- Returns:
- a HyphenationEvent
- Since:
- 2.1.2
-
setHyphenation
Setter for the hyphenation.- Parameters:
hyphenation
- a HyphenationEvent instance- Since:
- 2.1.2
-
getTabSettings
Getter for the tab stops settings.- Returns:
- a HyphenationEvent
- Since:
- 5.4.1
-
setTabSettings
Setter for the tab stops.- Parameters:
tabSettings
- tab settings- Since:
- 5.4.1
-
getInstance
Gets a special kind of Phrase that changes some characters into corresponding symbols.- Parameters:
string
-- Returns:
- a newly constructed Phrase
-
getInstance
Gets a special kind of Phrase that changes some characters into corresponding symbols.- Parameters:
leading
-string
-- Returns:
- a newly constructed Phrase
-
getInstance
Gets a special kind of Phrase that changes some characters into corresponding symbols.- Parameters:
leading
-string
-font
-- Returns:
- a newly constructed Phrase
-
trim
public boolean trim()
-