> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Overleaf Import API

### Функция «Overleaf Import API»

Начиная с Ayakaleaf Pro v6.3, вы можете создавать ссылки, которые импортируют файл LaTeX или заархивированный проект по URL и открывают его в вашем собственном экземпляре Ayakaleaf, аналогично [API «Open in Overleaf»](https://cn.overleaf.com/devs) от Overleaf.

Эта функция включена по умолчанию: достаточно открыть `your.overleaf.com/devs`, чтобы увидеть страницу с подробным описанием и инструкциями.

<Info>
  Для доступа к странице `/devs` требуется вход в систему, если не задано `OVERLEAF_ALLOW_PUBLIC_ACCESS=true`; см. [Посетители, не выполнившие вход](/ru/on-premises/configuration/overleaf-toolkit/overleaf-import-api#signed-out-visitors "mention").
</Info>

<Frame>
  <img src="https://mintcdn.com/ayakaleaf-pro/Wx0mJ_Lfqd9J3VFX/images/on-premises/image-51.png?fit=max&auto=format&n=Wx0mJ_Lfqd9J3VFX&q=85&s=5ba20ae774c684ce71df33d454bda528" alt="" width="2102" height="600" data-path="images/on-premises/image-51.png" />
</Frame>

Например, если вы размещаете файл LaTeX по адресу `https://example.com/main.tex` или полный проект по адресу `https://example.com/project.zip`, вы можете создать ссылку, которая импортирует его в ваш собственный экземпляр Ayakaleaf Pro и открывает новый проект:

<Tabs>
  <Tab title="Файл LaTeX">
    ```text wrap theme={null}
    https://ayakaleaf.example.com/docs?snip_uri=https%3A%2F%2Fexample.com%2Fmain.tex
    ```
  </Tab>

  <Tab title="Проект ZIP">
    ```text wrap theme={null}
    https://ayakaleaf.example.com/docs?snip_uri=https%3A%2F%2Fexample.com%2Fproject.zip
    ```
  </Tab>
</Tabs>

Замените `ayakaleaf.example.com` доменом вашего экземпляра.

#### Открытие проекта LaTeX в Ayakaleaf Pro

Начиная с Ayakaleaf Pro v6.3, вы можете создать ссылку, которая импортирует файл LaTeX или заархивированный проект в ваш собственный экземпляр Ayakaleaf Pro. Когда кто-либо открывает ссылку, Ayakaleaf Pro создаёт новый проект из переданного файла и открывает его в редакторе.

Направьте ссылку на эндпоинт `/docs` вашего экземпляра:

| Параметр | Описание | Пример |
| - | - | - |
| `snip_uri` | URL файла LaTeX для импорта. Принимается и отдельный ZIP-файл, но для проектов используйте `zip_uri`. | `https://example.com/main.tex` |
| `zip_uri` | URL заархивированного проекта LaTeX для импорта. | `https://example.com/project.zip` |
| `snip_uri[]` | Импорт нескольких файлов путём повторения этого параметра. | `snip_uri[]=.../main.tex&snip_uri[]=.../refs.bib` |
| `snip_name[]` | Задаёт имя файла для каждого `snip_uri[]` в том же порядке. | `snip_name[]=main.tex` |
| `engine` | Задаёт компилятор: `latex_dvipdf`, `pdflatex`, `xelatex` или `lualatex`. | `engine=xelatex` |
| `main_document` | Задаёт основной файл `.tex` в импортированном проекте. | `main_document=main.tex` |
| `name` | Задаёт имя нового проекта. Также принимается `project_name`. | `name=My%20Project` |

Например, если ваши файлы размещены на `example.com`, такие ссылки импортируют их в экземпляр Ayakaleaf Pro, размещённый на `ayakaleaf.example.com`.

#### Импорт проекта с помощью Base64

Вы можете встроить файл LaTeX или заархивированный проект непосредственно в ссылку «Open in Ayakaleaf» в виде data URL в кодировке Base64. Это позволяет создать ссылку для импорта, не размещая файл по отдельному URL.

| Содержимое | Параметр | Формат data URL |
| - | - | - |
| Файл LaTeX | `snip_uri` | `data:application/x-tex;base64,<base64-encoded-tex>` |
| Заархивированный проект | `zip_uri` | `data:application/zip;base64,<base64-encoded-zip>` |

Чтобы импортировать проект ZIP, закодируйте ZIP-файл в Base64 и передайте его через `zip_uri`. При формировании любой из ссылок применяйте `encodeURIComponent` ко всему data URL. Для больших проектов используйте URL размещённого ZIP-файла, поскольку ограничения на длину URL в браузере и на сервере могут сделать ссылки Base64 непрактичными.

#### Добавление кнопки «Open in Ayakaleaf»

Вы можете использовать HTML-форму, чтобы импортировать файл, когда посетитель нажимает кнопку. Отправляйте форму на эндпоинт `/docs` вашего экземпляра с `method="post"`.

Для размещённого файла LaTeX:

```text theme={null}
<form action="https://ayakaleaf.example.com/docs" method="post" target="_blank">
  <input type="hidden" name="snip_uri" value="https://example.com/main.tex">
  <input type="hidden" name="engine" value="xelatex">
  <button type="submit">Open in Ayakaleaf</button>
</form>
```

Чтобы импортировать заархивированный проект, замените `snip_uri` на `zip_uri` и укажите в нём ZIP-файл. Вы также можете передать исходный код LaTeX напрямую, используя `snip` для необработанного текста или `encoded_snip` для текста в URL-кодировке.

Замените `ayakaleaf.example.com` доменом вашего экземпляра. Если в вашем экземпляре включена блокировка междоменных запросов, добавьте сайт, на котором размещена форма, в `ALLOWED_ORIGINS`.

#### Посетители, не выполнившие вход

Новый проект создаётся в учётной записи посетителя, поэтому ему необходимо войти в систему. То, как посетитель, не выполнивший вход, попадёт туда, зависит от способа отправки импорта:

* **Ссылки** (`GET /docs?...`) работают на любом экземпляре: посетитель перенаправляется на страницу входа, и после входа импорт продолжается.
* **Формы** (`POST /docs`) требуют `OVERLEAF_ALLOW_PUBLIC_ACCESS=true` для посетителей, не выполнивших вход. В этом случае отправленные данные хранятся 10 минут, пока посетитель не войдёт в систему, и используются один раз.

<Warning>
  По умолчанию (если `OVERLEAF_ALLOW_PUBLIC_ACCESS` не задано) форма, отправленная посетителем, не выполнившим вход, перенаправляется на страницу входа до того, как Ayakaleaf Pro её прочитает, и отправленные данные теряются: после входа посетитель видит сообщение *no snippet, snip\_uri or zip\_uri provided*. Используйте ссылки, попросите посетителей сначала войти в систему или включите публичный доступ; см. [Доступ к страницам](/ru/on-premises/configuration/overleaf-toolkit/public-access#page-access "mention").
</Warning>

<Accordion title="Какие ресурсы ZIP или TeX можно импортировать?">
  Ayakaleaf Pro использует микросервис `linked-url-proxy` (в основном применяемый для [external-url.md](/ru/on-premises/configuration/overleaf-toolkit/external-url "mention")) для получения внешних ресурсов. Как правило, можно импортировать любой общедоступный ресурс ZIP или TeX, доступный через Интернет. Ресурсы, размещённые в частных или внутренних сетях, блокируются из соображений безопасности.

  Начиная с повторно выпущенной версии Ayakaleaf Pro 6.3.0 (3 октября 2026 г.), вы можете настроить HTTP(S)-прокси для получения внешних ресурсов ZIP и TeX с помощью `OVERLEAF_LINKED_URL_OUTBOUND_PROXY`. Сведения о настройке и ограничениях сетевого доступа см. в разделе [Исходящий прокси](/ru/on-premises/configuration/overleaf-toolkit/external-url#outbound-proxy "mention").
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.