Text Class Documentation

class Text : Element

Namespace:Datalogics::PDFL

Inherits from:
Element

Detailed Description

A container that represents a series of text elements and characters.

A Text object is container that represents both a series of TextRun elements and a series of text characters. Operations can be performed on individual TextRuns within a Text or on individual characters within a Text by specifying the index of the individual TextRun or character. All indices start at 0.

Referenced by

Constructor & Destructor Documentation

Text

Text()

Create a new, empty Text object.

Property Documentation

BoundingBox

Rect BoundingBox[get]

The bounding box for this element.

The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself.

Clip

Clip Clip[get, set]

Gets the current Clip for an Element.

Matrix

Matrix Matrix[get, set]

The transformation matrix for the element.

NumberOfCharacters

int NumberOfCharacters[get]

The number of characters in this text element.

NumberOfRuns

int NumberOfRuns[get]

The number of text runs in this text element.

Member Function Documentation

AddGlyphs

void AddGlyphs(System.Collections.Generic.List< System.Char > glyphIDs, System.Collections.Generic.List< System.Char > uniText, Font font, GraphicState gState, TextState state, Matrix matrix, TextFlags flags)

Parameters

glyphIDs: System.Collections.Generic.List< System.Char >

Glyphs IDs in the specified font for adding to the page's content

uniText: System.Collections.Generic.List< System.Char >

Unicode codes for the specified glyph IDs

font: Font

Font for wich GlyphIDs were specified

gState: GraphicState

The GraphicsState for Text element

state: TextState

TextState flags

matrix: Matrix

matrix for the Text element

flags: TextFlags

TextFlags that specifies what kind of text to add

Returns:

void

Adds Unicode text to a Text object

AddGlyphs

void AddGlyphs(System.Collections.Generic.List< System.Char > glyphIDs, System.Collections.Generic.List< System.Char > uniText, Font font, GraphicState gState, TextState state, Matrix matrix, TextFlags flags, int index)

Parameters

glyphIDs: System.Collections.Generic.List< System.Char >

Glyphs IDs in the specified font to add to the page's content

uniText: System.Collections.Generic.List< System.Char >

Unicode codes for the specified glyph IDs

font: Font

Font for wich GlyphIDs were specified

gState: GraphicState

The GraphicsState for Text element

state: TextState

TextState flags

matrix: Matrix

matrix for the Text element

flags: TextFlags

TextFlags that specifies what kind of text to add

index: int

The index after which to add the character or text run.

Returns:

void

Adds Unicode text to a Text object

AddRun

void AddRun(TextRun run)

Parameters

run: TextRun

The TextRun to append.

Returns:

void

Adds a TextRun to the end of this text element.

AddRun

void AddRun(TextRun run, int index)

Parameters

run: TextRun

TextRun to be added

index: int

Index, where TextRun should be placed

Returns:

void

Adds a TextRun at the specified index.

ChangeMatrixForTextRun

void ChangeMatrixForTextRun(Matrix newMatrix, int textRunIndex)

Parameters

newMatrix: Matrix

The new transformation matrix to use for the TextRun.

textRunIndex: int

The index of a TextRun, relative to the Text object (the first TextRun in the Text object is at index 0).

Returns:

void

Changes the transformation matrix from user space to the current text space for the specified TextRun. Unlike ChangeTextMatrixForTextRun(), this function does not change fontSize, hScale, and textRise in the textState of PDEText. The H and V values of the matrix indicate the origin of the first character.

ChangeTextMatrixForTextRun

void ChangeTextMatrixForTextRun(Matrix newMatrix, int textRunIndex)

Parameters

newMatrix: Matrix

The new transformation matrix to use for the TextRun.

textRunIndex: int

The index of a TextRun, relative to the Text object (the first TextRun in the Text object is at index 0).

Returns:

void

Changes the transformation matrix from user space to the current text space for the specified TextRun. The H and V values of the matrix indicate the origin of the first character.

Clone

new Text Clone()

Returns:

new Text

The copied text.

Makes a copy of the text.

Make a copy of an text to obtain a new text that has a distinct set of attributes.

Clone

new Text Clone(ElementCloneFlags cloneFlags)

Parameters

cloneFlags: ElementCloneFlags

Flags that modify the cloning operation.

Returns:

new Text

The copied text.

Makes a copy of the text.

Make a copy of an text to obtain a new text that has a distinct set of attributes.

ColorConvert

Text ColorConvert(Document document, ColorProfile prof, RenderIntent intent, bool embed)

Parameters

document: Document

The document the element belongs to.

prof: ColorProfile

The ICC ColorProfile to be applied.

intent: RenderIntent

The ICC Rendering Intent for the ColorProfile

embed: bool

If true, embed the color space and make the object calibrated. If it is false and the target profile is CMYK, RGB, or Gray, the colors space of the resulting object, after conversion, will be DeviceCMYK, DeviceRGB, or DeviceGray, respectively.

Returns:

Text

A new Text object with the applied ICC ColorProfile.

Applies the specified ICC ColorProfile to the Text object

Dispose

void Dispose()

Returns:

void

FindTextRunIndexForCharacter

int FindTextRunIndexForCharacter(int characterIndex)

Parameters

characterIndex: int

The index of a character, relative to the Text object (the first character in the Text object is at index 0).

Returns:

int

The index of the TextRun that contains the character specified by characterIndex.

Finds the index of the TextRun that contains the nth character in a Text object.

GetAdvanceForCharacter

Point GetAdvanceForCharacter(int characterIndex)

Parameters

characterIndex: int

The index of a character, relative to the Text object (the first character in the Text object is at index 0).

Returns:

Point

A value specifying both the horizontal and vertical components of the advance width of a character in user space.

Gets the advance width of a character, in user space. The advance width is the amount by which the current point advances when the character is drawn.

Advance width may be horizontal or vertical, depending on the writing style. Thus, the return value has both a horizontal and a vertical component.

GetAdvanceForTextRun

Point GetAdvanceForTextRun(int textRunIndex)

Parameters

textRunIndex: int

The index of a TextRun, relative to the Text object (the first TextRun in the Text object is at index 0).

Returns:

Point

A value specifying both the horizontal and vertical components of the advance width of a TextRun in user space.

Gets the advance width of a TextRun, in user space. The advance width is the amount by which the current point advances when the TextRun is drawn.

Advance width may be horizontal or vertical, depending on the writing style. Thus, the return value has both a horizontal and a vertical component.

GetBoundingBoxForCharacter

Rect GetBoundingBoxForCharacter(int characterIndex)

Parameters

characterIndex: int

The index of a character, relative to the Text object (the first character in the Text object is at index 0)

Returns:

Rect

A Rect specifying the bounding box for the character.

The bounding box for a character in this text element.

GetRun

TextRun GetRun(int index)

Parameters

index: int

The zero-based index of the TextRun to retrieve.

Returns:

TextRun

The TextRun at the specified index.

Obtains the TextRun at the specified index.

GetTextMatrixForCharacter

Matrix GetTextMatrixForCharacter(int characterIndex)

Parameters

characterIndex: int

The index of a character, relative to the Text object (the first character in the Text object is at index 0).

Returns:

Matrix

The transformation matrix for the character specified by characterIndex.

Gets the transformation matrix from user space to the current text space for the specified character. The H and V values of the matrix indicate the origin of the first character.

GetTextMatrixForTextRun

Matrix GetTextMatrixForTextRun(int textRunIndex)

Parameters

textRunIndex: int

The index of a TextRun, relative to the Text object (the first TextRun in the Text object is at index 0).

Returns:

Matrix

The transformation matrix for the TextRun specified by TextRunIndex.

Gets the transformation matrix from user space to the current text space for the specified TextRun. The H and V values of the matrix indicate the origin of the first character.

PointIntersectsCharacter

bool PointIntersectsCharacter(Point p, int index)

Parameters

p: Point

The point to test, in user space coordinates.

index: int

The index of the character. The first character in the Text has an index of 0.

Returns:

bool

true if the point is on the character, false if the point is not on the character.

Tests whether a point is on a specified character within this Text object.

PointIntersectsTextRun

bool PointIntersectsTextRun(Point p, int index)

Parameters

p: Point

The point to test, in user space coordinates.

index: int

The index of the TextRun. The first TextRun in the Text has an index of 0.

Returns:

bool

true if the point is on the TextRun, false if the point is not on the TextRun.

Tests whether a point is on a specified TextRun within this Text object.

RectIntersectsCharacter

bool RectIntersectsCharacter(Rect r, int index)

Parameters

r: Rect

The rect to test, in user space coordinates.

index: int

The index of the character. The first character in the Text has an index of 0.

Returns:

bool

true if any part of the rectangle is on the character, false if no part of the rectangle is on the character.

Tests whether any part of a rectangle is on a specified character within this Text object.

RectIntersectsTextRun

bool RectIntersectsTextRun(Rect r, int index)

Parameters

r: Rect

The rect to test, in user space coordinates.

index: int

The index of the TextRun. The first TextRun in the Text has an index of 0.

Returns:

bool

true if any part of the rectangle is on the TextRun, false if no part of the rectangle is on the TextRun.

Tests whether any part of a rectangle is on a specified TextRun within this Text object.

RemoveRuns

void RemoveRuns(int index, int count)

Parameters

index: int

Start position of range to delete

count: int

Count of TextRuns to delete

Returns:

void

Removes a count of TextRuns, starting from index

Rotate

void Rotate(double theta)

Parameters

theta: double

The rotation angle in degrees.

Returns:

void

Rotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ].

Scale

void Scale(double sx, double sy)

Parameters

sx: double

The horizontal scale factor.

sy: double

The vertical scale factor.

Returns:

void

Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ].

SplitTextRunAtCharacter

void SplitTextRunAtCharacter(int splitLocation)

Parameters

splitLocation: int

The split location, relative to the Text object.

Returns:

void

Splits the TextRun containing the character at the specified location into two contiguous TextRuns. The character at the specified index will be part of the first TextRun.

Translate

void Translate(double tx, double ty)

Parameters

tx: double

The horizontal translation distance in user space units.

ty: double

The vertical translation distance in user space units.

Returns:

void

Translate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ].