# TextRun Class

> Represents one or more contiguous characters in a text object.

- Product: Adobe PDF Library 18
- Language: Java
- Version: APDFL18.0.5PlusP2a
- HTML page: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/TextRun
- Version index: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/llms.txt

```java
class TextRun : Element
```

**Namespace:** `com::datalogics::PDFL`

**Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Element.md)

## Description

Represents one or more contiguous characters in a text object. All the characters contained within a text run have the same style, color, font, and size.

**Referenced by:** [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Text.md)

**Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Clip.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Element.md), [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Font.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Rect.md), [`TextState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/TextState.md)

## Constructors

### TextRun

```java
com.datalogics.PDFL.TextRun.TextRun(String text, Font font, GraphicState gstate, TextState tstate, Matrix matrix)
```

*constructor*

**Parameters**

- `text` (`String`)
- `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Font.md))
- `gstate` ([`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/GraphicState.md))
- `tstate` ([`TextState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/TextState.md))
- `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Matrix.md))

## Methods

### clone

```java
Element com.datalogics.PDFL.Element.clone()
```

**Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Element.md)

The copied element.

Makes a copy of the element.

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

Note: TextRun objects may not be cloned.

### clone

```java
Element com.datalogics.PDFL.Element.clone(java.util.EnumSet< ElementCloneFlags > cloneFlags)
```

**Parameters**

- `cloneFlags` (`java.util.EnumSet< ElementCloneFlags >`): Flags that modify the cloning operation.

**Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Element.md)

The copied element.

Makes a copy of the element.

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

Note: TextRun objects may not be cloned.

### delete

```java
synchronized void com.datalogics.PDFL.TextRun.delete(Boolean disposing)
```

*protected*

**Parameters**

- `disposing` (`Boolean`)

**Returns:** `synchronized void`

### delete

```java
synchronized void com.datalogics.PDFL.TextRun.delete()
```

**Returns:** `synchronized void`

### finalize

```java
void com.datalogics.PDFL.TextRun.finalize()
```

*protected*

**Returns:** `void`

### getAdvance

```java
double com.datalogics.PDFL.TextRun.getAdvance()
```

**Returns:** `double`

Deprecated, use Text.GetAdvanceForTextRun(int textRunIndex) instead. This version does not indicate the direction of the advance width.

The advance width of this run of text.

The advnace width is the amount by which the current point advances when the text run is drawn. Advance width is returned in user space.

### getBoundingBox

```java
Rect com.datalogics.PDFL.Element.getBoundingBox()
```

**Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Rect.md)

The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account.

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.

### getClip

```java
Clip com.datalogics.PDFL.Element.getClip()
```

**Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Clip.md)

- The current Clip for this Element.

Gets the current Clip for an Element.

### getFont

```java
Font com.datalogics.PDFL.TextRun.getFont()
```

**Returns:** [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Font.md)

The font of this TextRun.

### getGraphicState

```java
GraphicState com.datalogics.PDFL.TextRun.getGraphicState()
```

**Returns:** [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/GraphicState.md)

Get the graphic state of the text run.

May return null if this element does not have a GraphicState.

### getMatrix

```java
Matrix com.datalogics.PDFL.Element.getMatrix()
```

**Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Matrix.md)

The transformation matrix for the element.

### getRawText

```java
byte[] com.datalogics.PDFL.TextRun.getRawText()
```

**Returns:** `byte[]`

The raw, un-interpreted text as char codes of this TextRun.

### getText

```java
String com.datalogics.PDFL.TextRun.getText()
```

**Returns:** `String`

The text of this TextRun.

### getTextState

```java
TextState com.datalogics.PDFL.TextRun.getTextState()
```

**Returns:** [`TextState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/TextState.md)

The TextState of this TextRun.

### rotate

```java
void com.datalogics.PDFL.Element.rotate(double theta)
```

**Parameters**

- `theta` (`double`)

**Returns:** `void`

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

### scale

```java
void com.datalogics.PDFL.Element.scale(double sx, double sy)
```

**Parameters**

- `sx` (`double`)
- `sy` (`double`)

**Returns:** `void`

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

### setClip

```java
void com.datalogics.PDFL.Element.setClip(Clip clip)
```

**Parameters**

- `clip` ([`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Clip.md)): The clip to set as the current clip for this element.

**Returns:** `void`

Sets the current Clip for an Element.

### setFont

```java
void com.datalogics.PDFL.TextRun.setFont(Font font)
```

**Parameters**

- `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Font.md))

**Returns:** `void`

The font of this TextRun.

### setGraphicState

```java
void com.datalogics.PDFL.TextRun.setGraphicState(GraphicState gstate)
```

**Parameters**

- `gstate` ([`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/GraphicState.md)): the new/updated Graphic State for the text run.

**Returns:** `void`

Set the Graphic State of the text run.

### setMatrix

```java
void com.datalogics.PDFL.Element.setMatrix(Matrix matrix)
```

**Parameters**

- `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Matrix.md)): the transformation matrix for the element.

**Returns:** `void`

Set the transformation matrix for the element.

### setText

```java
void com.datalogics.PDFL.TextRun.setText(String text)
```

**Parameters**

- `text` (`String`)

**Returns:** `void`

The text of this TextRun.

### translate

```java
void com.datalogics.PDFL.Element.translate(double tx, double ty)
```

**Parameters**

- `tx` (`double`)
- `ty` (`double`)

**Returns:** `void`

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