# Импорт и экспорт

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

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

- Requested language: `ru-RU`

- Content language: `ru-RU`

- Documentation version: `1.2.0`

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

---

Перед использованием API браузера выполните [интеграцию импорта и экспорта](https://docs.univer.ai/ru-RU/server/import-export.md). Приложение реализует загрузку, конвертацию, опрос задач и скачивание с проверкой доступа. API снимков также требуют сервера конвертации. [Пример Exchange](https://docs.univer.ai/ru-RU/server/collaboration/examples.md#exchange) предназначен для Sheets; поддержку других продуктов и форматов проверяйте отдельно.

#### Package metadata

```json
{
  "preset": [],
  "plugins": [
    {
      "client": "@univerjs-pro/exchange-client",
      "facade": "@univerjs-pro/exchange-client/facade"
    },
    {
      "client": "@univerjs-pro/pdfs-exchange-client",
      "facade": "@univerjs-pro/pdfs-exchange-client/facade"
    }
  ],
  "license": true,
  "server": true
}
```

## Поддерживаемые форматы

В таблице указаны форматы браузерных API этой страницы. Для преобразования файлов Office нужен сервер с поддержкой соответствующего типа документа и формата.

| Импорт | Экспорт |
| ------ | ------- |
| `.pdf` | `.pdf`  |

## Выбор пути данных

| Путь      | Сохраняет модуль на сервере | Требует совместной работы | Сервер преобразования |
| --------- | :-------------------------: | :-----------------------: | :-------------------: |
| ID модуля |              Да             |             Да            |       Требуется       |
| Снимок    |             Нет             |            Нет            |       Требуется       |

### Импорт в сохраняемый модуль

Входными данными могут быть браузерный объект `File` или URL. Загрузите возвращённый модуль через настроенный клиент совместной работы.

```ts
const unitId = await univerAPI.importPdfToUnitIdAsync(file)

if (unitId) {
  const pdf = await univerAPI.getCollaboration().loadPdfAsync(unitId)
  console.log(pdf?.getName())
}
```

### Импорт в снимок

Используйте импорт в снимок для локального модуля PDF, который не следует сохранять в рамках задачи преобразования:

```ts
const snapshot = await univerAPI.importPdfToSnapshotAsync(file)

if (snapshot) {
  univerAPI.createPdf(snapshot)
}
```

### Экспорт и скачивание

Экспортируйте сохранённый модуль по ID:

```ts
const file = await univerAPI.exportPdfByUnitIdAsync(unitId)

if (file) {
  univerAPI.downloadFile(file, 'project-brief', 'pdf')
}
```

Экспортируйте текущий локальный снимок, не сохраняя его предварительно:

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

if (pdf) {
  const file = await univerAPI.exportPdfBySnapshotAsync(pdf.save())

  if (file) {
    univerAPI.downloadFile(file, pdf.getName(), 'pdf')
  }
}
```

Эти API возвращают объект `File`. Браузерная печать — отдельный процесс, который открывает системный диалог печати; см. раздел [Печать](https://docs.univer.ai/ru-RU/guides/pdfs/features/print.md).

## Удаление встроенных меню и UI-взаимодействий для импорта и экспорта

Univer больше не включает встроенные меню и UI-взаимодействия для импорта и экспорта. Базовые сервисы и Facade API остаются доступными.

Если вашему приложению нужны прежние меню и UI-взаимодействия для импорта и экспорта, используйте [пример миграции встроенных меню и UI-взаимодействий для импорта и экспорта](https://office.univer.ai/showcase/pdfs/custom-import-export), чтобы реализовать их с помощью собственного плагина. Полный исходный код примера доступен для просмотра онлайн и скачивания.
