# Element Class

> The base class for elements of the content of a page.

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

```java
class Element
```

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

**Derived classes:** [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`Group`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md), [`PostScript`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScript.md), [`Shading`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Shading.md), [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md)

## Description

The base class for elements of the content of a page. An element is a building block; everything in a PDF file is an element. An element object can be associated with a large amount of unmanaged memory in APDFL and should be deleted when the object is no longer in use.

**Referenced by:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`PostScript`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScript.md), [`Shading`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Shading.md), [`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md)

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

## Methods

### clone

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

**Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/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.5PlusP2e/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.Element.delete(Boolean disposing)
```

*protected*

**Parameters**

- `disposing` (`Boolean`)

**Returns:** `synchronized void`

### delete

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

**Returns:** `synchronized void`

### finalize

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

*protected*

**Returns:** `void`

### getBoundingBox

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

**Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/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.5PlusP2e/class/Clip.md)

The current Clip for this Element, or NULL if no clip is set.

Gets the current Clip for an Element.

### getMatrix

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

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

The current transformation matrix applied to this element.

The transformation matrix for the element.

### rotate

```java
void com.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

```java
void com.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 ].

### setClip

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

**Parameters**

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

**Returns:** `void`

Sets the current Clip for an Element.

### setMatrix

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

**Parameters**

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

**Returns:** `void`

Set the transformation matrix for the element.

### translate

```java
void com.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 ].
