# FPdfTextBox

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

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

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

- Requested language: `zh-CN`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

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

---

Facade for a simple editable PDF text box.

## Access

Access through:

* [`FPdfPage.getTextBoxes()`](https://docs.univer.ai/zh-CN/reference/facade/pdf-page.md#gettextboxes)
* [`FPdfPage.insertTextBox()`](https://docs.univer.ai/zh-CN/reference/facade/pdf-page.md#inserttextbox)
* [`FPdfTextSpan.replaceText()`](https://docs.univer.ai/zh-CN/reference/facade/pdf-text-span.md#replacetext)

## Inheritance

Extends [`FPdfPageElement`](https://docs.univer.ai/zh-CN/reference/facade/pdf-page-element.md). Its inherited members are available on this object.

## Example

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const textBox = page.insertTextBox({
  text: 'Hello PDF',
  left: 36,
  top: 36,
})
console.log(textBox?.getText())

textBox
  .setText('Updated text')
  .setTextStyle(
    {
      bold: true,
    },
    {
      start: 0,
      end: 5,
    },
  )
  .setTextAnchor(univerAPI.Enum.PdfTextAnchor.MIDDLE)
console.log(textBox?.getText())
```

## 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`

### `FPdfTextBox.getText`

Return the current materialized text.

```typescript
getText(): string
```

**Returns**

The complete text-box text.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const textBox = page.getTextBoxes()[0]
console.log(textBox?.getText())
```

**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-text-box.d.ts)

### `FPdfTextBox.getTextAnchor`

Return the current vertical text anchor.

```typescript
getTextAnchor(): PdfTextAnchor
```

**Returns**

The current text anchor.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const textBox = page.getTextBoxes()[0]
console.log(textBox?.getTextAnchor())
```

**Types:** [`PdfTextAnchor`](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-text-box.d.ts)

### `FPdfTextBox.getTextRuns`

Return detached text runs in visual order.

```typescript
getTextRuns(): readonly IPdfTextRun[]
```

**Returns**

Detached text-run snapshots.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const textBox = page.getTextBoxes()[0]
console.log(textBox?.getTextRuns())
```

**Types:** [`IPdfTextRun`](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/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-text-box.d.ts)

### `FPdfTextBox.setText`

Replace the complete text while retaining compatible run styling.

```typescript
setText(text: string): this
```

**Parameters**

* `text` — Required. The replacement text.

**Returns**

This text-box Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const textBox = page.getTextBoxes()[0]
if (textBox) {
  textBox.setText('Updated text')
}
```

**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-text-box.d.ts)

### `FPdfTextBox.setTextAnchor`

Set the vertical text anchor.

```typescript
setTextAnchor(anchor: PdfTextAnchor): this
```

**Parameters**

* `anchor` — Required. The new text anchor.

**Returns**

This text-box Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const textBox = page.getTextBoxes()[0]
if (textBox) {
  textBox.setTextAnchor(univerAPI.Enum.PdfTextAnchor.MIDDLE)
}
```

**Types:** [`PdfTextAnchor`](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-text-box.d.ts)

### `FPdfTextBox.setTextStyle`

Apply text styling to the whole box or one UTF-16 range.

```typescript
setTextStyle(style: IPdfTextStyle, range?: IPdfTextRange): this
```

**Parameters**

* `style` — Required. The text style patch.
* `range` — Optional. An optional UTF-16 range.

**Returns**

This text-box Facade for chaining.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf.getPageByIndex(0)
const textBox = page.getTextBoxes()[0]
if (textBox) {
  textBox.setTextStyle(
    {
      bold: true,
    },
    {
      start: 0,
      end: 5,
    },
  )
}
```

**Types:** [`IPdfTextStyle`](https://unpkg.com/@univerjs-pro/pdfs@1.0.0-rc.0/lib/types/facade/types.d.ts) · [`IPdfTextRange`](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-text-box.d.ts)
