# FPdfPageElement

> Language fallback: requested `zh-CN`; content is `en-US`.

- Human documentation: [https://docs.univer.ai/zh-CN/reference/facade/pdf-page-element](https://docs.univer.ai/zh-CN/reference/facade/pdf-page-element)

- Agent Markdown: [https://docs.univer.ai/zh-CN/reference/facade/pdf-page-element.md](https://docs.univer.ai/zh-CN/reference/facade/pdf-page-element.md)

- Requested language: `zh-CN`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

- Source: [facade/pdf-page-element.mdx](https://github.com/dream-num/documentation/blob/dev/content/reference/facade/pdf-page-element.mdx)

---

Shared live Facade for an editable PDF page element.

## Access

Access through:

* [`FPdfPage.getElements()`](https://docs.univer.ai/zh-CN/reference/facade/pdf-page.md#getelements)
* [`FPdfPage.getElementById()`](https://docs.univer.ai/zh-CN/reference/facade/pdf-page.md#getelementbyid)

## Example

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
console.log(element?.getTransform())
```

## Setup

Register [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) or a preset that includes it. In plugin mode, import `@univerjs-pro/pdfs/facade`. Additional methods below require their listed plugin packages. See [Facade setup](https://docs.univer.ai/zh-CN/guides/pdfs/getting-started/facade.md).

## `@univerjs-pro/pdfs`

### `FPdfPageElement.bringForward`

Move this element one step forward.

```typescript
bringForward(): this
```

**Returns**

This element Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
if (element) {
  element.bringForward()
}
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.bringToFront`

Move this element above every other editable element on the page.

```typescript
bringToFront(): this
```

**Returns**

This element Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
if (element) {
  element.bringToFront()
}
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.getData`

Return a detached snapshot of the current page-element data.

```typescript
getData(): Readonly<T>
```

**Returns**

A detached object snapshot in core PDF units.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
console.log(element?.getData())
```

**Types:** [`Readonly`](https://unpkg.com/@typescript/typescript-darwin-arm64@7.0.2/lib/lib.es5.d.ts)

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.getId`

Return the stable page-element ID.

```typescript
getId(): string
```

**Returns**

The element ID.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
console.log(element?.getId())
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.getTransform`

Return the current placement in PDF points.

```typescript
getTransform(): IPdfFacadeTransform
```

**Returns**

The position, size, rotation, and flips.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
console.log(element?.getTransform())
```

**Types:** [`IPdfFacadeTransform`](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/types.d.ts)

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.getType`

Return the underlying PDF object type.

```typescript
getType(): PdfObjectType
```

**Returns**

The persisted PDF object type.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
console.log(element?.getType())
```

**Types:** [`PdfObjectType`](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/enums.d.ts)

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.remove`

Remove this editable element from the page.

```typescript
remove(): void
```

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
if (element) {
  element.remove()
}
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.sendBackward`

Move this element one step backward.

```typescript
sendBackward(): this
```

**Returns**

This element Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
if (element) {
  element.sendBackward()
}
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.sendToBack`

Move this element to the back of the editable-element stack.

```typescript
sendToBack(): this
```

**Returns**

This element Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
if (element) {
  element.sendToBack()
}
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.setLocked`

Set whether the element is locked.

```typescript
setLocked(locked: boolean): this
```

**Parameters**

* `locked` — Required. Whether the element is locked.

**Returns**

This element Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
if (element) {
  element.setLocked(true)
}
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.setPosition`

Set the top-left position in PDF points.

```typescript
setPosition(left: number, top: number): this
```

**Parameters**

* `left` — Required. The left position in points.
* `top` — Required. The top position in points.

**Returns**

This element Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
if (element) {
  element.setPosition(36, 72)
}
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.setRotation`

Set the rotation in degrees around the element center.

```typescript
setRotation(rotation: number): this
```

**Parameters**

* `rotation` — Required. The rotation in degrees.

**Returns**

This element Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
if (element) {
  element.setRotation(15)
}
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.setSize`

Set the element size in PDF points while keeping its position.

```typescript
setSize(width: number, height: number): this
```

**Parameters**

* `width` — Required. The width in points.
* `height` — Required. The height in points.

**Returns**

This element Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
if (element) {
  element.setSize(288, 144)
}
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.setTransform`

Update the complete placement using PDF points and degrees.

```typescript
setTransform(transform: IPdfFacadeTransform): this
```

**Parameters**

* `transform` — Required. The complete new placement.

**Returns**

This element Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
if (element) {
  element.setTransform({
    left: 36,
    top: 36,
    width: 144,
    height: 72,
    rotation: 0,
    flipX: false,
    flipY: false,
  })
}
```

**Types:** [`IPdfFacadeTransform`](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/types.d.ts)

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)

### `FPdfPageElement.setVisible`

Set whether the element is visible.

```typescript
setVisible(visible: boolean): this
```

**Parameters**

* `visible` — Required. Whether the element is visible.

**Returns**

This element Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const element = page.getElements()[0]
if (element) {
  element.setVisible(false)
}
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/f-pdf-page-element.d.ts)
