# FPdf

> Language fallback: requested `ko-KR`; content is `en-US`.

- Human documentation: [https://docs.univer.ai/ko-KR/reference/facade/pdf](https://docs.univer.ai/ko-KR/reference/facade/pdf)

- Agent Markdown: [https://docs.univer.ai/ko-KR/reference/facade/pdf.md](https://docs.univer.ai/ko-KR/reference/facade/pdf.md)

- Requested language: `ko-KR`

- Content language: `en-US`

- Documentation version: `1.0.4`

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

---

Facade for a PDF unit.

## Access

Access through:

* [`FUniver.createPdf()`](https://docs.univer.ai/ko-KR/reference/facade/univer.md#createpdf)
* [`FUniver.getActivePdf()`](https://docs.univer.ai/ko-KR/reference/facade/univer.md#getactivepdf)
* [`FUniver.getPdf()`](https://docs.univer.ai/ko-KR/reference/facade/univer.md#getpdf)
* [`FCollaboration.loadPdfAsync()`](https://docs.univer.ai/ko-KR/reference/facade/collaboration.md#loadpdfasync)

## Setup

Register [`@univerjs-pro/pdfs`](https://docs.univer.ai/ko-KR/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/ko-KR/guides/pdfs/getting-started/facade.md).

## `@univerjs-pro/pdfs`

### `FPdf.getDocument`

Return the current source PDF document.

```typescript
getDocument(): IPdfDocument
```

**Returns**

The current source document.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
console.log(pdf?.getDocument().pages.length)
```

**Types:** [`IPdfDocument`](https://unpkg.com/@univerjs-pro/pdfs/lib/types/types.d.ts)

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs/lib/types/facade/f-pdf.d.ts)

### `FPdf.getId`

Return the PDF unit ID.

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

**Returns**

The stable PDF unit ID.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
console.log(pdf?.getId())
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs/lib/types/facade/f-pdf.d.ts)

### `FPdf.getModel`

Return the underlying PDF document model.

```typescript
getModel(): PdfDocumentModel
```

**Returns**

The underlying model.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
console.log(pdf?.getModel().getUnitId())
```

**Types:** [`PdfDocumentModel`](https://unpkg.com/@univerjs-pro/pdfs/lib/types/models/pdf-document-model.d.ts)

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs/lib/types/facade/f-pdf.d.ts)

### `FPdf.getName`

Return the PDF unit name.

```typescript
getName(): string
```

**Returns**

The current PDF unit name.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
console.log(pdf?.getName())
```

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs/lib/types/facade/f-pdf.d.ts)

### `FPdf.getPageById`

Return a PDF page by ID.

```typescript
getPageById(id: string): FPdfPage | null
```

**Parameters**

* `id` — Required. The page ID.

**Returns**

The page Facade, or `null` when it does not exist.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf?.getPageById('page-id')
console.log(page)
```

**Types:** [`FPdfPage`](https://docs.univer.ai/ko-KR/reference/facade/pdf-page.md)

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs/lib/types/facade/f-pdf.d.ts)

### `FPdf.getPageByIndex`

Return a PDF page by zero-based index.

```typescript
getPageByIndex(index: number): FPdfPage | null
```

**Parameters**

* `index` — Required. The zero-based page index.

**Returns**

The page Facade, or `null` when the index is out of range.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const firstPage = pdf?.getPageByIndex(0)
console.log(firstPage)
```

**Types:** [`FPdfPage`](https://docs.univer.ai/ko-KR/reference/facade/pdf-page.md)

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs/lib/types/facade/f-pdf.d.ts)

### `FPdf.getPages`

Return all current PDF pages in materialized document order.

```typescript
getPages(): FPdfPage[]
```

**Returns**

The current page Facades.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
console.log(pdf?.getPages())
```

**Types:** [`FPdfPage`](https://docs.univer.ai/ko-KR/reference/facade/pdf-page.md)

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs/lib/types/facade/f-pdf.d.ts)

### `FPdf.insertPage`

Insert a blank PDF page at a zero-based index, or append it when no index is provided.

The new page inherits the adjacent page's size, rotation, and PDF boxes. An A4 page is
created when the document has no existing pages.

```typescript
insertPage(index?: number): FPdfPage
```

**Parameters**

* `index` — Optional. The zero-based insert index. Omit it to append the page.

**Returns**

The created page Facade.

**Throws**

If the index is outside the document page boundaries.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const page = pdf?.insertPage()
console.log(page?.getIndex())
```

**Types:** [`FPdfPage`](https://docs.univer.ai/ko-KR/reference/facade/pdf-page.md)

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs/lib/types/facade/f-pdf.d.ts)

### `FPdf.save`

Save and return a detached PDF unit snapshot.

```typescript
save(): IPdfUnitData
```

**Returns**

The complete current PDF unit snapshot.

**Examples**

```ts
const pdf = univerAPI.getActivePdf()
const snapshot = pdf?.save()
console.log(snapshot)
```

**Types:** [`IPdfUnitData`](https://docs.univer.ai/ko-KR/reference/types/pdf-unit-data.md)

**Package:** [`@univerjs-pro/pdfs`](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs-pro/pdfs.md) · [Type definitions](https://unpkg.com/@univerjs-pro/pdfs/lib/types/facade/f-pdf.d.ts)
