Package com.itextpdf.text
Class Phrase
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.ArrayList<Element>
-
- com.itextpdf.text.Phrase
-
- All Implemented Interfaces:
Element
,TextElementArray
,java.io.Serializable
,java.lang.Cloneable
,java.lang.Iterable<Element>
,java.util.Collection<Element>
,java.util.List<Element>
,java.util.RandomAccess
- Direct Known Subclasses:
Anchor
,NoNewLineParagraph
,Paragraph
public class Phrase extends java.util.ArrayList<Element> implements TextElementArray
APhrase
is a series ofChunk
s.A
Phrase
has a mainFont
, but some chunks within the phrase can have aFont
that differs from the mainFont
. All theChunk
s in aPhrase
have the sameleading
.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:
Element
,Chunk
,Paragraph
,Anchor
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Font
font
This is the font of this phrase.protected HyphenationEvent
hyphenation
Null, unless the Phrase has to be hyphenated.protected float
leading
This is the leading of this phrase.protected float
multipliedLeading
The text leading that is multiplied by the biggest font size in the line.private static long
serialVersionUID
protected TabSettings
tabSettings
Predefined tab position and properties(alignment, leader and etc.);-
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
Constructors Modifier Constructor Description Phrase()
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.Phrase(float leading, Chunk chunk)
Constructs aPhrase
with a certainChunk
and a certain leading.Phrase(float leading, java.lang.String string)
Constructs aPhrase
with a certain leading and a certainString
.Phrase(float leading, java.lang.String string, Font font)
Constructs aPhrase
with a certain leading, a certainString
and a certainFont
.Phrase(Chunk chunk)
Constructs aPhrase
with a certainChunk
.Phrase(Phrase phrase)
Copy constructor forPhrase
.Phrase(java.lang.String string)
Constructs aPhrase
with a certainString
.Phrase(java.lang.String string, Font font)
Constructs aPhrase
with a certainString
and a certainFont
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int index, Element element)
Adds aChunk
, anAnchor
or anotherPhrase
to thisPhrase
.boolean
add(Element element)
Adds aChunk
,Anchor
or anotherPhrase
to thisPhrase
.boolean
add(java.lang.String s)
Adds aString
to thisPhrase
.boolean
addAll(java.util.Collection<? extends Element> collection)
Adds a collection ofChunk
s to thisPhrase
.protected boolean
addChunk(Chunk chunk)
Adds a Chunk.protected void
addSpecial(Element object)
Adds anElement
to theParagraph
.java.util.List<Chunk>
getChunks()
Gets all the chunks in this element.java.lang.String
getContent()
Returns the content as a String object.Font
getFont()
Gets the font of the firstChunk
that appears in thisPhrase
.HyphenationEvent
getHyphenation()
Getter for the hyphenation settings.static Phrase
getInstance(int leading, java.lang.String string)
Gets a special kind of Phrase that changes some characters into corresponding symbols.static Phrase
getInstance(int leading, java.lang.String string, Font font)
Gets a special kind of Phrase that changes some characters into corresponding symbols.static Phrase
getInstance(java.lang.String string)
Gets a special kind of Phrase that changes some characters into corresponding symbols.float
getLeading()
Gets the leading of this phrase.float
getMultipliedLeading()
Gets the variable leadingTabSettings
getTabSettings()
Getter for the tab stops settings.float
getTotalLeading()
Gets the total leading.boolean
hasLeading()
Checks you if the leading of this phrase is defined.boolean
isContent()
Checks if this element is a content object.boolean
isEmpty()
Checks is thisPhrase
contains no or 1 emptyChunk
.boolean
isNestable()
Checks if this element is nestable.boolean
process(ElementListener listener)
Processes the element by adding it (or the different parts) to anElementListener
.void
setFont(Font font)
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, clear, clone, contains, ensureCapacity, equals, forEach, get, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
leading
protected float leading
This is the leading of this phrase.
-
multipliedLeading
protected float multipliedLeading
The text leading that is multiplied by the biggest font size in the line.
-
font
protected Font font
This is the font of this phrase.
-
hyphenation
protected HyphenationEvent hyphenation
Null, unless the Phrase has to be hyphenated.- Since:
- 2.1.2
-
tabSettings
protected TabSettings tabSettings
Predefined tab position and properties(alignment, leader and etc.);- Since:
- 5.4.1
-
-
Constructor Detail
-
Phrase
public Phrase()
Constructs aPhrase
without specifying a leading.
-
Phrase
public Phrase(Phrase 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
public Phrase(Chunk chunk)
Constructs aPhrase
with a certainChunk
.- Parameters:
chunk
- aChunk
-
Phrase
public Phrase(float leading, Chunk chunk)
Constructs aPhrase
with a certainChunk
and a certain leading.- Parameters:
leading
- the leadingchunk
- aChunk
-
Phrase
public Phrase(java.lang.String string)
Constructs aPhrase
with a certainString
.- Parameters:
string
- aString
-
Phrase
public Phrase(java.lang.String string, Font font)
Constructs aPhrase
with a certainString
and a certainFont
.- Parameters:
string
- aString
font
- aFont
-
Phrase
public Phrase(float leading, java.lang.String string)
Constructs aPhrase
with a certain leading and a certainString
.- Parameters:
leading
- the leadingstring
- aString
-
Phrase
public Phrase(float leading, java.lang.String string, Font font)
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 Detail
-
process
public boolean process(ElementListener listener)
Processes the element by adding it (or the different parts) to anElementListener
.
-
type
public int type()
Gets the type of the text element.
-
getChunks
public java.util.List<Chunk> 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.- Specified by:
isContent
in interfaceElement
- Returns:
- true if this is a 'content' element; false if this is a 'metadata' element
- Since:
- iText 2.0.8
- See Also:
Element.isContent()
-
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:
Element.isNestable()
-
add
public void add(int index, Element element)
Adds aChunk
, anAnchor
or anotherPhrase
to thisPhrase
.- Specified by:
add
in interfacejava.util.List<Element>
- Overrides:
add
in classjava.util.ArrayList<Element>
- Parameters:
index
- index at which the specified element is to be insertedelement
- an object of typeChunk
,Anchor
orPhrase
- Throws:
java.lang.ClassCastException
- when you try to add something that isn't aChunk
,Anchor
orPhrase
- Since:
- 5.0.1 (signature changed to use Element)
-
add
public boolean add(java.lang.String s)
Adds aString
to thisPhrase
.- Parameters:
s
- a string- Returns:
- a boolean
- Since:
- 5.0.1
-
add
public boolean add(Element element)
Adds aChunk
,Anchor
or anotherPhrase
to thisPhrase
.- Specified by:
add
in interfacejava.util.Collection<Element>
- Specified by:
add
in interfacejava.util.List<Element>
- Specified by:
add
in interfaceTextElementArray
- Overrides:
add
in classjava.util.ArrayList<Element>
- Parameters:
element
- an object of typeChunk
,Anchor
orPhrase
- Returns:
- a boolean
- Throws:
java.lang.ClassCastException
- when you try to add something that isn't aChunk
,Anchor
orPhrase
- Since:
- 5.0.1 (signature changed to use Element)
-
addAll
public boolean addAll(java.util.Collection<? extends Element> collection)
Adds a collection ofChunk
s to thisPhrase
.- Specified by:
addAll
in interfacejava.util.Collection<Element>
- Specified by:
addAll
in interfacejava.util.List<Element>
- Overrides:
addAll
in classjava.util.ArrayList<Element>
- Parameters:
collection
- a collection ofChunk
s,Anchor
s andPhrase
s.- Returns:
true
if the action succeeded,false
if not.- Throws:
java.lang.ClassCastException
- when you try to add something that isn't aChunk
,Anchor
orPhrase
-
addChunk
protected boolean addChunk(Chunk chunk)
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
protected void addSpecial(Element object)
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:
setLeading(float)
-
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
public void setFont(Font font)
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
public Font getFont()
Gets the font of the firstChunk
that appears in thisPhrase
.- Returns:
- a
Font
-
getContent
public java.lang.String 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
public HyphenationEvent getHyphenation()
Getter for the hyphenation settings.- Returns:
- a HyphenationEvent
- Since:
- 2.1.2
-
setHyphenation
public void setHyphenation(HyphenationEvent hyphenation)
Setter for the hyphenation.- Parameters:
hyphenation
- a HyphenationEvent instance- Since:
- 2.1.2
-
getTabSettings
public TabSettings getTabSettings()
Getter for the tab stops settings.- Returns:
- a HyphenationEvent
- Since:
- 5.4.1
-
setTabSettings
public void setTabSettings(TabSettings tabSettings)
Setter for the tab stops.- Parameters:
tabSettings
- tab settings- Since:
- 5.4.1
-
getInstance
public static final Phrase getInstance(java.lang.String string)
Gets a special kind of Phrase that changes some characters into corresponding symbols.- Parameters:
string
-- Returns:
- a newly constructed Phrase
-
getInstance
public static final Phrase getInstance(int leading, java.lang.String string)
Gets a special kind of Phrase that changes some characters into corresponding symbols.- Parameters:
leading
-string
-- Returns:
- a newly constructed Phrase
-
getInstance
public static final Phrase getInstance(int leading, java.lang.String string, Font font)
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()
-
-