public class TextFragment extends BaseParagraph
Represents fragment of Pdf text.
The example demonstrates how to find text on the first PDF document page and replace the text and it's font.// Open document Document doc = new Document("D:\\Tests\\input.pdf"); // Find font that will be used to change document text font Font font = FontRepository.findFont("Arial"); // Create TextFragmentAbsorber object to find all "hello world" text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world"); // Accept the absorber for first page doc.getPages().get(1).accept(absorber); // Change text and font of the first text occurrence absorber.getTextFragments().get_Item(1).setText ( "hi world"); absorber.getTextFragments().get_Item(1).getTextState().setFont ( font); // Save document doc.save("D:\\Tests\\output.pdf");
TextFragment
object contains list of TextSegment
objects.
In details: Text of pdf document in Aspose.Pdf
is represented by two basic objects:
TextFragment
and TextSegment
The differences between them is mostly
context-dependent.
Let's consider following scenario. User searches text "hello world" to operate with it, change
it's properties, look etc.
Document doc = new Document(docFile);
TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world");
doc.getPages().get(1).accept(absorber);
Phisycally pdf text's representation is very complex. The text "hello world" may consist of
several phisycally independent text segments. The Aspose.Pdf text model basically establishes
that TextFragment
object provides single logic operation set over physical
TextSegment
objects set that represent user's query. In text search scenario,
TextFragment
is logical "hello world" text representation, and TextSegment
object
collection represents all physical segments that construct "hello world" text object. So,
TextFragment
is close to logical text representation. And TextSegment
is close to
physical text representation. Obviously each TextSegment
object may have it's own font,
coloring, positioning properties. TextFragment
provides simple way to change text with
it's properties: set font, set font size, set font color etc. Meanwhile TextSegment
objects are accessible and users are able to operate with TextSegment
objects
independently.
Note that changing TextFragment properties may change inner Segments
collection because
TextFragment is an aggregate object and it may rearrange internal segments or merge them into
single segment. If your requirement is to leave the Segments
collection unchanged, please
change inner segments individually.
Constructor and Description |
---|
TextFragment()
Initializes new instance of the
TextFragment object. |
TextFragment(String text)
Creates
TextFragment object with single TextSegment object inside. |
TextFragment(String text,
TabStops tabStops)
Creates
TextFragment object with single TextSegment object inside and
predefined TabStops positions. |
TextFragment(TabStops tabStops)
Initializes new instance of the
TextFragment object with predefined TabStops
positions. |
Modifier and Type | Method and Description |
---|---|
Object |
deepClone()
Clone the fragment.
|
Position |
getBaselinePosition()
Gets text position for text, represented with
TextFragment object. |
Note |
getEndNote()
Gets the paragraph end note.(for pdf generation only)
|
Note |
getFootNote()
Gets the paragraph foot note.(for pdf generation only)
|
XForm |
getForm()
Gets form object that contains the TextFragment
The value can be null in case the TextFragment object doesn't belong to a form. |
int |
getHorizontalAlignment()
Gets a horizontal alignment of text fragment.
|
Page |
getPage()
Gets page that contains the TextFragment
The value can be null in case the TextFragment object doesn't belong to any page. |
Position |
getPosition()
Gets text position for text, represented with
TextFragment object. |
Rectangle |
getRectangle()
Gets rectangle of the TextFragment
|
TextSegmentCollection |
getSegments()
Gets text segments for current
TextFragment . |
String |
getText()
Gets
string text object that the TextFragment object represents. |
TextFragmentState |
getTextState()
Gets or sets text state for the text that
TextFragment object represents. |
int |
getVerticalAlignment()
Gets a vertical alignment of text fragment.
|
void |
setBaselinePosition(Position value)
Sets text position for text, represented with
TextFragment object. |
void |
setEndNote(Note value)
Sets the paragraph end note.(for pdf generation only)
|
void |
setFootNote(Note value)
Sets the paragraph foot note.(for pdf generation only)
|
void |
setHorizontalAlignment(int value)
Sets a horizontal alignment of text fragment.
|
void |
setPosition(Position value)
Sets text position for text, represented with
TextFragment object. |
void |
setSegments(TextSegmentCollection value)
Represent setSegments method
|
void |
setText(String value)
Sets
string text object that the TextFragment object represents. |
void |
setVerticalAlignment(int value)
Sets a vertical alignment of text fragment.
|
getHyperlink, getMargin, isFirstParagraphInColumn, isFootNoteParagraph, isInLineParagraph, isInNewPage, isKeptWithNext, setFirstParagraphInColumn, setFootNoteParagraph, setHyperlink, setInLineParagraph, setInNewPage, setKeptWithNext, setMargin
public TextFragment()
Initializes new instance of the TextFragment
object.
public TextFragment(TabStops tabStops)
Initializes new instance of the TextFragment
object with predefined TabStops
positions.
tabStops
- Tabulation positionspublic TextFragment(String text)
Creates TextFragment
object with single TextSegment
object inside. Specifies
text string inside the segment.
text
- Text fragment's text.public String getText()
Gets string
text object that the TextFragment
object represents.
The example demonstrates how to search a text and replace first occurrence represented withTextFragment
object .// Open document Document doc = new Document("D:\\Tests\\input.pdf"); // Create TextFragmentAbsorber object to find all "hello world" text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world"); // Accept the absorber for first page doc.getPages().get(1).accept(absorber); // Change font of the first text occurrence absorber.getTextFragments().get_Item(1).setText ( "hi world"); // Save document doc.save("D:\\Tests\\output.pdf");
TextFragmentAbsorber
,
IDocument
public void setText(String value)
Sets string
text object that the TextFragment
object represents.
value
- String value
The example demonstrates how to search a text and replace first occurrence represented withTextFragment
object .// Open document Document doc = new Document("D:\\Tests\\input.pdf"); // Create TextFragmentAbsorber object to find all "hello world" text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world"); // Accept the absorber for first page doc.getPages().get(1).accept(absorber); // Change font of the first text occurrence absorber.getTextFragments().get_Item(1).setText ( "hi world"); // Save document doc.save("D:\\Tests\\output.pdf");
TextFragmentAbsorber
,
IDocument
public int getVerticalAlignment()
Gets a vertical alignment of text fragment.
VerticalAlignment
public void setVerticalAlignment(int value)
Sets a vertical alignment of text fragment.
setVerticalAlignment
in class BaseParagraph
value
- int valueVerticalAlignment
public int getHorizontalAlignment()
Gets a horizontal alignment of text fragment.
getHorizontalAlignment
in class BaseParagraph
HorizontalAlignment
public void setHorizontalAlignment(int value)
Sets a horizontal alignment of text fragment.
setHorizontalAlignment
in class BaseParagraph
value
- HorizontalAlignment valueHorizontalAlignment
public TextFragmentState getTextState()
Gets or sets text state for the text that TextFragment
object represents.
The example demonstrates how to change text color and font size of the text withTextState
object.// Open document Document doc = new Document("D:\\Tests\\input.pdf"); // Create TextFragmentAbsorber object to find all "hello world" text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world"); // Accept the absorber for first page doc.getPages().get(1).accept(absorber); // Change foreground color of the first text occurrence absorber.getTextFragments().get_Item(1).getTextState().setForegroundColor(Color.RED); // Change font size of the first text occurrence absorber.getTextFragments().get_Item(1).getTextState().setFontSize ( 15); // Save document doc.save("D:\\Tests\\output.pdf");
TextFragmentAbsorber
,
IDocument
public TextSegmentCollection getSegments()
Gets text segments for current TextFragment
.
The example demonstrates how to navigate allTextSegment
objects insideTextFragment
.// Open document Document doc = new Document("D:\\Tests\\input.pdf"); // Create TextFragmentAbsorber object to find all "hello world" text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world"); // Accept the absorber for first page doc.getPages().get(1).accept(absorber); // Navigate all text segments and out their text and placement info for (TextSegment segment : (Iterable)absorber.getTextFragments().get_Item(1).getSegments()) { System.out.println("segment text: "+ segment.getText())); System.out.println("segment X indent: "+ segment.getPosition().getXIndent())); System.out.println("segment Y indent: "+ segment.getPosition().getYIndent())); }
TextSegment
objects are children of TextFragment
object.
Advanced users may access segments directly to perform more complex text edit scenarios. For
details, please look at TextFragment
object description.
TextFragmentAbsorber
,
IDocument
,
TextSegment
public void setSegments(TextSegmentCollection value)
Represent setSegments method
value
- TextSegmentCollection valuepublic Position getPosition()
Gets text position for text, represented with TextFragment
object.
The example demonstrates how to view placement of a text, represented byTextFragment
object.// Open document Document doc = new Document("D:\\Tests\\input.pdf"); // Create TextFragmentAbsorber object to find all "hello world" text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world"); // Accept the absorber for first page doc.getPages().get(1).accept(absorber); // View text and placement info of first text occurrence TextFragment firstOccurrence = absorber.getTextFragments().get_Item(1); System.out.println("fragment text: " + firstOccurrence.getText())); System.out.println("fragment X indent: "+ firstOccurrence.getPosition().getXIndent())); System.out.println("fragment Y indent: "+ firstOccurrence.getPosition().getYIndent()));
TextFragmentAbsorber
,
IDocument
,
TextSegment
public void setPosition(Position value)
Sets text position for text, represented with TextFragment
object.
value
- Position value
The example demonstrates how to view placement of a text, represented byTextFragment
object.// Open document Document doc = new Document("D:\\Tests\\input.pdf"); // Create TextFragmentAbsorber object to find all "hello world" text occurrences TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world"); // Accept the absorber for first page doc.getPages().get(1).accept(absorber); // View text and placement info of first text occurrence TextFragment firstOccurrence = absorber.getTextFragments().get_Item(1); System.out.println("fragment text: " + firstOccurrence.getText())); System.out.println("fragment X indent: "+ firstOccurrence.getPosition().getXIndent())); System.out.println("fragment Y indent: "+ firstOccurrence.getPosition().getYIndent()));
TextFragmentAbsorber
,
IDocument
,
TextSegment
public Position getBaselinePosition()
Gets text position for text, represented with TextFragment
object. The YIndent of the
Position structure represents baseline coordinate of the text fragment.
public void setBaselinePosition(Position value)
Sets text position for text, represented with TextFragment
object. The YIndent of the
Position structure represents baseline coordinate of the text fragment.
value
- Position valuepublic Rectangle getRectangle()
Gets rectangle of the TextFragment
public Page getPage()
Gets page that contains the TextFragment
The value can be null in case the TextFragment object doesn't belong to any page.
public XForm getForm()
Gets form object that contains the TextFragment
The value can be null in case the TextFragment object doesn't belong to a form.
public Note getEndNote()
Gets the paragraph end note.(for pdf generation only)
public void setEndNote(Note value)
Sets the paragraph end note.(for pdf generation only)
value
- Note valuepublic Note getFootNote()
Gets the paragraph foot note.(for pdf generation only)
public void setFootNote(Note value)
Sets the paragraph foot note.(for pdf generation only)
value
- Note valuepublic Object deepClone()
Clone the fragment.
deepClone
in interface com.aspose.ms.System.ICloneable
deepClone
in class BaseParagraph
Copyright © 2016 Aspose. All Rights Reserved.