# Univer PDFs API

> Создавайте, находите, сохраняйте, открывайте и выгружайте модули PDF через PDF Facade API.

- Human documentation: [https://docs.univer.ai/ru-RU/guides/pdfs/features/core/pdfs-api](https://docs.univer.ai/ru-RU/guides/pdfs/features/core/pdfs-api)

- Agent Markdown: [https://docs.univer.ai/ru-RU/guides/pdfs/features/core/pdfs-api.md](https://docs.univer.ai/ru-RU/guides/pdfs/features/core/pdfs-api.md)

- Requested language: `ru-RU`

- Content language: `ru-RU`

- Documentation version: `1.2.0`

- Source: [pdfs/features/core/pdfs-api.ru-RU.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/pdfs/features/core/pdfs-api.ru-RU.mdx)

---

PDF Facade добавляет в `FUniver` модули PDF и точки входа страниц. Импортируйте точку входа с побочным эффектом до создания объекта API.

## Подключение PDF Facade

```ts
import { FUniver } from '@univerjs/core/facade'

import '@univerjs-pro/pdfs/facade'

const univerAPI = FUniver.newAPI(univer)
```

Зарегистрируйте `UniverPdfsPlugin` в экземпляре Univer, чтобы приложение могло размещать модули PDF.

## Создание, поиск и сохранение модулей PDF

Если `document` не указан, `createPdf()` создаёт модуль с одной пустой страницей A4. Передайте снимок, ранее возвращённый `save()`, чтобы восстановить модуль.

```ts
const pdf = univerAPI.createPdf({
  id: 'project-brief',
  name: 'Project brief',
})

const activePdf = univerAPI.getActivePdf()
const samePdf = univerAPI.getPdf(pdf.getId())
const snapshot = pdf.save()
```

Обновляйте работающий PDF методами Facade или командами. Сохранённый снимок следует считать отдельными данными для постоянного хранения.

## Вход на страницу

`FPdfPage` — общая точка входа к редактируемым наложениям и импортированному нативному тексту страницы:

```ts
const firstPage = pdf.getPageByIndex(0) ?? pdf.insertPage()
const elements = firstPage.getElements()
const nativeText = firstPage.getTextSpans()
```

Для отдельных операций перейдите к разделам [Страницы и элементы](https://docs.univer.ai/ru-RU/guides/pdfs/features/core/pages-and-elements.md), [Текст и списки](https://docs.univer.ai/ru-RU/guides/pdfs/features/core/text-and-lists.md), [Таблицы](https://docs.univer.ai/ru-RU/guides/pdfs/features/core/tables.md), [Изображения и разделители](https://docs.univer.ai/ru-RU/guides/pdfs/features/core/images-and-dividers.md), [Аннотации и нативный текст](https://docs.univer.ai/ru-RU/guides/pdfs/features/core/annotations-and-native-text.md).

## Выгрузка модуля PDF

Выгрузите ненужный модуль PDF по его идентификатору. Корневой экземпляр `univer` следует освобождать только при уничтожении всего приложения.

```ts
const pdf = univerAPI.getActivePdf()

if (pdf) {
  univerAPI.disposeUnit(pdf.getId())
}
```

Точные сигнатуры и типы возвращаемых значений приведены в [справочнике PDF Facade](https://docs.univer.ai/ru-RU/reference/facade/pdf.md).
