# TextRun Class

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

- Product: Adobe PDF Library 21
- Language: .NET Framework
- Version: APDFL21.0.0PlusP1e
- HTML page: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/TextRun
- Version index: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/llms.txt

```csharp
class TextRun : Element
```

**Namespace:** `Datalogics::PDFL`

**Inherits from:** [`Element`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/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/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Text.md)

**Uses types:** [`Clip`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Clip.md), [`Element`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Element.md), [`ElementCloneFlags`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/enum/ElementCloneFlags.md), [`Font`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Font.md), [`GraphicState`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Rect.md), [`TextState`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/TextState.md)

## Constructors

### TextRun

```csharp
Datalogics.PDFL.TextRun.TextRun(string text, Font font, GraphicState gstate, TextState tstate, Matrix matrix)
```

*constructor*

**Parameters**

- `text` (`string`): The text content for this run.
- `font` ([`Font`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Font.md)): The font to use for rendering the text.
- `gstate` ([`GraphicState`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/GraphicState.md)): The graphic state (colors, line width, etc.) for this text run.
- `tstate` ([`TextState`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/TextState.md)): The text state (character spacing, word spacing, font size, etc.) for this text run.
- `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Matrix.md)): The transformation matrix positioning this text run in user space.

Creates a new TextRun with the specified text, font, graphic state, text state, and matrix.

## Properties

### Advance

```csharp
double Datalogics.PDFL.TextRun.Advance { get; }
```

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, in user space.

The advance width is the amount by which the current point advances when the text run is drawn.

### BoundingBox

```csharp
Rect Datalogics.PDFL.Element.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

```csharp
Clip Datalogics.PDFL.Element.Clip { get; set; }
```

Gets the current Clip for an Element.

### Font

```csharp
Font Datalogics.PDFL.TextRun.Font { get; set; }
```

The font used to render this TextRun.

### GraphicState

```csharp
GraphicState Datalogics.PDFL.TextRun.GraphicState { get; set; }
```

The graphic state (colors, line width, etc.) of the text run.

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

### Matrix

```csharp
Matrix Datalogics.PDFL.Element.Matrix { get; set; }
```

The transformation matrix for the element.

### RawText

```csharp
System.Byte [] Datalogics.PDFL.TextRun.RawText { get; }
```

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

### Text

```csharp
string Datalogics.PDFL.TextRun.Text { get; set; }
```

The Unicode text content of this TextRun.

### TextState

```csharp
TextState Datalogics.PDFL.TextRun.TextState { get; }
```

The text state parameters (character spacing, word spacing, font size, etc.) of this TextRun.

## Methods

### Clone

```csharp
Element Datalogics.PDFL.Element.Clone()
```

**Returns:** [`Element`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/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

```csharp
Element Datalogics.PDFL.Element.Clone(ElementCloneFlags cloneFlags)
```

**Parameters**

- `cloneFlags` ([`ElementCloneFlags`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/enum/ElementCloneFlags.md)): Flags that modify the cloning operation.

**Returns:** [`Element`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/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.

### Dispose

```csharp
void Datalogics.PDFL.Element.Dispose()
```

**Returns:** `void`

### Rotate

```csharp
void Datalogics.PDFL.Element.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

```csharp
void Datalogics.PDFL.Element.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 ].

### Translate

```csharp
void Datalogics.PDFL.Element.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 ].
