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

### Tính năng "Overleaf Import API"

Bắt đầu từ Ayakaleaf Pro v6.3, bạn có thể tạo các liên kết để nhập một tệp LaTeX hoặc một dự án nén từ một URL và mở nó trong phiên bản Ayakaleaf của riêng bạn, tương tự như [API "Open in Overleaf"](https://cn.overleaf.com/devs) của Overleaf.

Tính năng này được bật theo mặc định, bạn chỉ cần truy cập `your.overleaf.com/devs` để xem trang chi tiết và hướng dẫn.

<Info>
  Trang `/devs` yêu cầu đăng nhập trừ khi `OVERLEAF_ALLOW_PUBLIC_ACCESS=true`, xem [Khách truy cập chưa đăng nhập](/vi/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>

Ví dụ, nếu bạn lưu trữ một tệp LaTeX tại `https://example.com/main.tex` hoặc một dự án hoàn chỉnh tại `https://example.com/project.zip`, bạn có thể tạo một liên kết để nhập nó vào phiên bản Ayakaleaf Pro của riêng bạn và mở dự án mới:

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

  <Tab title="Dự án ZIP">
    ```text wrap theme={null}
    https://ayakaleaf.example.com/docs?snip_uri=https%3A%2F%2Fexample.com%2Fproject.zip
    ```
  </Tab>
</Tabs>

Thay `ayakaleaf.example.com` bằng tên miền của phiên bản của bạn.

#### Mở một dự án LaTeX trong Ayakaleaf Pro

Bắt đầu từ Ayakaleaf Pro v6.3, bạn có thể tạo một liên kết để nhập một tệp LaTeX hoặc một dự án nén vào phiên bản Ayakaleaf Pro của riêng bạn. Khi ai đó mở liên kết, Ayakaleaf Pro sẽ tạo một dự án mới từ tệp được cung cấp và mở nó trong trình soạn thảo.

Gửi liên kết đến endpoint `/docs` của phiên bản của bạn:

| Tham số | Mô tả | Ví dụ |
| - | - | - |
| `snip_uri` | URL của tệp LaTeX cần nhập. Một tệp ZIP đơn lẻ cũng được chấp nhận, nhưng hãy dùng `zip_uri` cho các dự án. | `https://example.com/main.tex` |
| `zip_uri` | URL của dự án LaTeX nén cần nhập. | `https://example.com/project.zip` |
| `snip_uri[]` | Nhập nhiều tệp bằng cách lặp lại tham số này. | `snip_uri[]=.../main.tex&snip_uri[]=.../refs.bib` |
| `snip_name[]` | Đặt tên tệp cho mỗi `snip_uri[]`, theo cùng thứ tự. | `snip_name[]=main.tex` |
| `engine` | Đặt trình biên dịch: `latex_dvipdf`, `pdflatex`, `xelatex` hoặc `lualatex`. | `engine=xelatex` |
| `main_document` | Đặt tệp `.tex` chính trong dự án được nhập. | `main_document=main.tex` |
| `name` | Đặt tên cho dự án mới. `project_name` cũng được chấp nhận. | `name=My%20Project` |

Ví dụ, nếu các tệp của bạn được lưu trữ trên `example.com`, các liên kết này sẽ nhập chúng vào một phiên bản Ayakaleaf Pro được lưu trữ tại `ayakaleaf.example.com`.

#### Nhập dự án bằng Base64

Bạn có thể nhúng trực tiếp một tệp LaTeX hoặc một dự án nén vào liên kết "Open in Ayakaleaf" dưới dạng data URL Base64. Điều này cho phép bạn tạo liên kết nhập mà không cần lưu trữ tệp tại một URL riêng.

| Nội dung | Tham số | Định dạng data URL |
| - | - | - |
| Tệp LaTeX | `snip_uri` | `data:application/x-tex;base64,<base64-encoded-tex>` |
| Dự án nén | `zip_uri` | `data:application/zip;base64,<base64-encoded-zip>` |

Để nhập một dự án ZIP, hãy mã hóa tệp ZIP bằng Base64 và truyền nó qua `zip_uri`. Dùng `encodeURIComponent` cho toàn bộ data URL khi tạo bất kỳ liên kết nào. Đối với các dự án lớn, hãy dùng URL ZIP được lưu trữ, vì giới hạn độ dài URL của trình duyệt và máy chủ có thể khiến liên kết Base64 trở nên không khả thi.

#### Thêm nút "Open in Ayakaleaf"

Bạn có thể dùng một biểu mẫu HTML để nhập tệp khi khách truy cập nhấp vào một nút. Gửi biểu mẫu đến endpoint `/docs` của phiên bản của bạn với `method="post"`.

Đối với một tệp LaTeX được lưu trữ:

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

Để nhập một dự án nén, hãy thay `snip_uri` bằng `zip_uri` và trỏ nó đến tệp ZIP. Bạn cũng có thể gửi trực tiếp mã nguồn LaTeX bằng `snip` cho văn bản thô hoặc `encoded_snip` cho văn bản đã mã hóa URL.

Thay `ayakaleaf.example.com` bằng tên miền của phiên bản của bạn. Nếu phiên bản của bạn bật chặn yêu cầu cross-origin, hãy thêm trang web chứa biểu mẫu vào `ALLOWED_ORIGINS`.

#### Khách truy cập chưa đăng nhập

Dự án mới được tạo trong tài khoản của khách truy cập, vì vậy họ cần đăng nhập. Cách một khách truy cập chưa đăng nhập đến được đó phụ thuộc vào cách gửi yêu cầu nhập:

* **Liên kết** (`GET /docs?...`) hoạt động trên mọi phiên bản: khách truy cập được chuyển đến trang đăng nhập và quá trình nhập tiếp tục sau khi đăng nhập.
* **Biểu mẫu** (`POST /docs`) cần `OVERLEAF_ALLOW_PUBLIC_ACCESS=true` đối với khách truy cập chưa đăng nhập. Khi đó, dữ liệu gửi đi được lưu giữ trong 10 phút cho đến khi khách truy cập đăng nhập, và chỉ được sử dụng một lần.

<Warning>
  Theo mặc định (khi `OVERLEAF_ALLOW_PUBLIC_ACCESS` không được đặt), một biểu mẫu do khách truy cập chưa đăng nhập gửi sẽ được chuyển đến trang đăng nhập trước khi Ayakaleaf Pro đọc nó, và dữ liệu gửi đi sẽ bị mất: sau khi đăng nhập, khách truy cập sẽ thấy thông báo *no snippet, snip\_uri or zip\_uri provided*. Hãy dùng liên kết, yêu cầu khách truy cập đăng nhập trước, hoặc bật truy cập công khai, xem [Truy cập trang](/vi/on-premises/configuration/overleaf-toolkit/public-access#page-access "mention").
</Warning>

<Accordion title="Tôi có thể nhập những tài nguyên ZIP hoặc TeX nào?">
  Ayakaleaf Pro sử dụng microservice `linked-url-proxy` (chủ yếu dùng cho [external-url.md](/vi/on-premises/configuration/overleaf-toolkit/external-url "mention")) để tải các tài nguyên bên ngoài. Nhìn chung, mọi tài nguyên ZIP hoặc TeX có thể truy cập công khai qua Internet đều có thể được nhập. Các tài nguyên được lưu trữ trên mạng riêng hoặc mạng nội bộ sẽ bị chặn vì lý do bảo mật.

  Bắt đầu từ bản phát hành lại Ayakaleaf Pro 6.3.0 (ngày 3 tháng 10 năm 2026), bạn có thể cấu hình một HTTP(S) proxy để tải các tài nguyên ZIP và TeX bên ngoài bằng `OVERLEAF_LINKED_URL_OUTBOUND_PROXY`. Xem [Outbound Proxy](/vi/on-premises/configuration/overleaf-toolkit/external-url#outbound-proxy "mention") để biết cách cấu hình và các hạn chế truy cập mạng.
</Accordion>


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