feat(docs-i18n): translate all documentation into 20 languages

All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
This commit is contained in:
SnapOtter
2026-07-11 13:52:47 +08:00
committed by GitHub
parent 00b651c9f8
commit 4963ab3bbd
3620 changed files with 306134 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
---
description: "Tạo biểu đồ cột, đường hoặc tròn từ dữ liệu CSV hoặc JSON."
i18n_source_hash: d3c39384457b
i18n_provenance: human
i18n_output_hash: d8ec09c12867
---
# Chart Maker {#chart-maker}
Tạo biểu đồ cột, đường hoặc tròn từ dữ liệu CSV hoặc JSON. Trả về một ảnh PNG của biểu đồ đã kết xuất.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/chart-maker`
Nhận dữ liệu multipart form với một tệp CSV hoặc JSON và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| kind | string | No | `"bar"` | Loại biểu đồ: `bar`, `line`, `pie` |
| title | string | No | - | Tiêu đề biểu đồ (tối đa 120 ký tự) |
| width | integer | No | `960` | Chiều rộng biểu đồ tính bằng pixel (320-2048) |
| height | integer | No | `540` | Chiều cao biểu đồ tính bằng pixel (240-1536) |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/chart-maker \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@sales.csv" \
-F 'settings={"kind": "line", "title": "Monthly Sales", "width": 960, "height": 540}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/sales_chart.png",
"originalSize": 1024,
"processedSize": 48500
}
```
## Notes {#notes}
- Đầu vào phải là một tệp `.csv` hoặc `.json`. Tệp CSV nên có một hàng tiêu đề chứa tên cột.
- Cột đầu tiên được dùng làm nhãn danh mục; cột thứ hai phải là số và cung cấp các giá trị dữ liệu. Chỉ hai cột được dùng.
- Đầu vào JSON nên là một mảng các đối tượng `{label, value}`, hoặc một đối tượng thuần túy mà các khóa trở thành nhãn và các giá trị trở thành điểm dữ liệu.
- Tối đa 100 điểm dữ liệu. Tất cả giá trị phải bằng 0 hoặc lớn hơn.
- Đầu ra luôn là một ảnh PNG bất kể định dạng đầu vào.
@@ -0,0 +1,49 @@
---
description: "Chuyển đổi giữa các định dạng Word, OpenDocument, RTF và văn bản thuần túy."
i18n_source_hash: 89771292569d
i18n_provenance: human
i18n_output_hash: 17ac03cea231
---
# Convert Document {#convert-document}
Chuyển đổi tài liệu giữa các định dạng Word (DOCX), OpenDocument (ODT), RTF và văn bản thuần túy bằng LibreOffice.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/convert-document`
Nhận dữ liệu multipart form với một tệp Word/ODT/RTF/TXT và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| format | string | Yes | - | Định dạng đầu ra: `docx`, `odt`, `rtf`, `txt` |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/convert-document \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.docx" \
-F 'settings={"format": "odt"}'
```
## Example Response {#example-response}
Trả về `202 Accepted`. Theo dõi tiến trình qua SSE tại `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Các định dạng đầu vào được chấp nhận: `.docx`, `.doc`, `.odt`, `.rtf`, `.txt`.
- Việc chuyển đổi được xử lý bởi LibreOffice chạy ở chế độ headless trên máy chủ.
- Định dạng phức tạp (macro, đối tượng nhúng) có thể không được giữ nguyên khi chuyển đổi giữa các định dạng.
- Định dạng đầu ra phải khác với định dạng đầu vào.
@@ -0,0 +1,49 @@
---
description: "Chuyển đổi giữa các định dạng bản trình bày PowerPoint và OpenDocument."
i18n_source_hash: 08ba415d39ac
i18n_provenance: human
i18n_output_hash: 15270dd989fc
---
# Convert Presentation {#convert-presentation}
Chuyển đổi bản trình bày giữa các định dạng PowerPoint (PPTX) và OpenDocument Presentation (ODP).
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/convert-presentation`
Nhận dữ liệu multipart form với một tệp PowerPoint/ODP và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| format | string | Yes | - | Định dạng đầu ra: `pptx`, `odp` |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/convert-presentation \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@slides.pptx" \
-F 'settings={"format": "odp"}'
```
## Example Response {#example-response}
Trả về `202 Accepted`. Theo dõi tiến trình qua SSE tại `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Các định dạng đầu vào được chấp nhận: `.pptx`, `.ppt`, `.odp`.
- Việc chuyển đổi được xử lý bởi LibreOffice chạy ở chế độ headless trên máy chủ.
- Hiệu ứng hoạt ảnh và chuyển cảnh có thể không được giữ nguyên giữa các định dạng.
- Định dạng đầu ra phải khác với định dạng đầu vào.
@@ -0,0 +1,49 @@
---
description: "Chuyển đổi giữa các định dạng Excel, OpenDocument và CSV."
i18n_source_hash: b813b1b06962
i18n_provenance: human
i18n_output_hash: de2984be5fd5
---
# Convert Spreadsheet {#convert-spreadsheet}
Chuyển đổi bảng tính giữa các định dạng Excel (XLSX), OpenDocument Spreadsheet (ODS) và CSV. Sổ làm việc nhiều trang sẽ xuất trang đầu tiên khi chuyển sang CSV.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/convert-spreadsheet`
Nhận dữ liệu multipart form với một tệp Excel/ODS/CSV và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| format | string | Yes | - | Định dạng đầu ra: `xlsx`, `ods`, `csv` |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/convert-spreadsheet \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@data.xlsx" \
-F 'settings={"format": "csv"}'
```
## Example Response {#example-response}
Trả về `202 Accepted`. Theo dõi tiến trình qua SSE tại `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Các định dạng đầu vào được chấp nhận: `.xlsx`, `.xls`, `.ods`, `.csv`.
- Khi chuyển một sổ làm việc nhiều trang sang CSV, chỉ trang đầu tiên được xuất.
- Công thức được tính toán và xuất dưới dạng giá trị tĩnh trong đầu ra CSV.
- Định dạng đầu ra phải khác với định dạng đầu vào.
+48
View File
@@ -0,0 +1,48 @@
---
description: "Gộp nhiều tệp thành một tệp lưu trữ ZIP duy nhất."
i18n_source_hash: 9ff1250dbd36
i18n_provenance: human
i18n_output_hash: c79e7c794d0f
---
# Create ZIP {#create-zip}
Gộp nhiều tệp thuộc bất kỳ loại nào thành một tệp lưu trữ ZIP duy nhất. Tên tệp trùng lặp được tự động khử trùng.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/create-zip`
Nhận dữ liệu multipart form với hai tệp trở lên. Không cần trường settings.
## Parameters {#parameters}
Công cụ này không có tham số cấu hình. Tải lên 2-50 tệp thuộc bất kỳ loại nào để gộp.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/create-zip \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.pdf" \
-F "file=@data.csv" \
-F "file=@photo.jpg"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/archive.zip",
"originalSize": 3500000,
"processedSize": 2800000
}
```
## Notes {#notes}
- Yêu cầu từ 2 đến 50 tệp đầu vào.
- Chấp nhận mọi loại tệp; không có giới hạn về định dạng đầu vào.
- Nếu nhiều tệp có cùng tên, chúng sẽ được tự động khử trùng bằng hậu tố số.
- Tệp lưu trữ đầu ra sử dụng nén ZIP tiêu chuẩn (deflate).
+59
View File
@@ -0,0 +1,59 @@
---
description: "Chuyển đổi giữa CSV và Excel (XLSX), cả hai chiều."
i18n_source_hash: 213297311e36
i18n_provenance: human
i18n_output_hash: 8fa43b12b66d
---
# CSV to Excel {#csv-to-excel}
Chuyển đổi giữa các định dạng CSV và Excel (XLSX) theo cả hai chiều. Tải lên tệp CSV hoặc TSV để nhận XLSX, hoặc tải lên tệp XLSX để nhận CSV.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/csv-excel`
Nhận dữ liệu multipart form với một tệp CSV, TSV hoặc XLSX và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| sheet | integer | No | `1` | Số thứ tự trang tính cần xuất khi chuyển từ XLSX (tối thiểu 1) |
## Example Request {#example-request}
CSV sang Excel:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/csv-excel \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@data.csv" \
-F 'settings={"sheet": 1}'
```
Excel sang CSV:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/csv-excel \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.xlsx" \
-F 'settings={"sheet": 2}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/data.xlsx",
"originalSize": 2048,
"processedSize": 5120
}
```
## Notes {#notes}
- Chiều chuyển đổi được tự động phát hiện từ phần mở rộng tệp đầu vào: `.csv` hoặc `.tsv` tạo ra `.xlsx`, còn `.xlsx` tạo ra `.csv`.
- Tham số `sheet` chỉ áp dụng khi chuyển từ XLSX. Nó chọn trang tính nào để xuất.
- Các tệp TSV (giá trị phân tách bằng tab) được hỗ trợ song song với CSV.
+60
View File
@@ -0,0 +1,60 @@
---
description: "Chuyển đổi giữa CSV và JSON, cả hai chiều."
i18n_source_hash: 978c08ad46d3
i18n_provenance: human
i18n_output_hash: 7d696cb2fe64
---
# CSV to JSON {#csv-to-json}
Chuyển đổi giữa các định dạng CSV và JSON theo cả hai chiều. Tải lên tệp CSV hoặc TSV để nhận một mảng JSON các đối tượng, hoặc tải lên một mảng JSON để nhận tệp CSV.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/csv-json`
Nhận dữ liệu multipart form với một tệp CSV, TSV hoặc JSON và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| pretty | boolean | No | `true` | In đẹp đầu ra JSON với thụt lề |
## Example Request {#example-request}
CSV sang JSON:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/csv-json \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@users.csv" \
-F 'settings={"pretty": true}'
```
JSON sang CSV:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/csv-json \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@users.json" \
-F 'settings={}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/users.json",
"originalSize": 1500,
"processedSize": 2200
}
```
## Notes {#notes}
- Chiều chuyển đổi được tự động phát hiện từ phần mở rộng tệp đầu vào: `.csv` hoặc `.tsv` tạo ra `.json`, còn `.json` tạo ra `.csv`.
- Tham số `pretty` chỉ ảnh hưởng đến đầu ra JSON. Khi đặt thành `false`, đầu ra là một chuỗi JSON gọn trên một dòng.
- Đầu vào JSON phải là một mảng các đối tượng có các khóa nhất quán. Mỗi đối tượng trở thành một hàng, và mỗi khóa trở thành một tiêu đề cột.
- Các tệp TSV (giá trị phân tách bằng tab) được hỗ trợ song song với CSV.
+49
View File
@@ -0,0 +1,49 @@
---
description: "Chuyển đổi một EPUB sang PDF, DOCX, HTML hoặc Markdown."
i18n_source_hash: 7d94fc18ca97
i18n_provenance: human
i18n_output_hash: 799e72fe641c
---
# Convert EPUB {#convert-epub}
Chuyển đổi một sách điện tử EPUB sang PDF, Word (DOCX), HTML hoặc Markdown. Các tài nguyên từ xa bên trong sách không được tải về.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/epub-convert`
Nhận dữ liệu multipart form với một tệp EPUB và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| format | string | Yes | - | Định dạng đầu ra: `pdf`, `docx`, `html`, `md` |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/epub-convert \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@book.epub" \
-F 'settings={"format": "pdf"}'
```
## Example Response {#example-response}
Trả về `202 Accepted`. Theo dõi tiến trình qua SSE tại `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Định dạng đầu vào được chấp nhận: `.epub`.
- Các tài nguyên từ xa nhúng trong EPUB (ảnh, phông chữ bên ngoài) không được tải về vì lý do bảo mật.
- Độ trung thực của hình ảnh trong đầu ra đã chuyển đổi có thể khác nhau tùy theo cấu trúc EPUB.
- Việc chuyển đổi được xử lý bởi Pandoc trên máy chủ.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Chuyển đổi bảng tính sang PDF."
i18n_source_hash: 4dbe2a810ea6
i18n_provenance: human
i18n_output_hash: 6cd352f110b8
---
# Excel to PDF {#excel-to-pdf}
Chuyển đổi bảng tính Excel, OpenDocument hoặc CSV sang PDF. Các trang tính rộng có thể được phân trang qua nhiều trang.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/excel-to-pdf`
Nhận dữ liệu multipart form với một tệp Excel/ODS/CSV.
## Parameters {#parameters}
Công cụ này không có tham số cấu hình. Tải lên một bảng tính và nó sẽ được chuyển đổi sang PDF.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/excel-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@budget.xlsx"
```
## Example Response {#example-response}
Trả về `202 Accepted`. Theo dõi tiến trình qua SSE tại `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Các định dạng đầu vào được chấp nhận: `.xlsx`, `.xls`, `.ods`, `.csv`.
- Các trang tính rộng có thể bị chia qua nhiều trang trong PDF kết quả.
- Biểu đồ và định dạng có điều kiện được kết xuất trong đầu ra PDF.
- Việc chuyển đổi được xử lý bởi LibreOffice chạy ở chế độ headless trên máy chủ.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Trích xuất tệp từ tệp lưu trữ ZIP một cách an toàn với bảo vệ chống bom nén."
i18n_source_hash: 484a1f1051b8
i18n_provenance: human
i18n_output_hash: 191c847722a5
---
# Extract ZIP {#extract-zip}
Trích xuất tệp từ tệp lưu trữ ZIP một cách an toàn. Tệp lưu trữ chỉ chứa một tệp sẽ trả về trực tiếp tệp bên trong; tệp lưu trữ chứa nhiều tệp sẽ trả về một ZIP phẳng với nội dung đã trích xuất.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/extract-zip`
Nhận dữ liệu multipart form với một tệp ZIP. Không cần trường settings.
## Parameters {#parameters}
Công cụ này không có tham số cấu hình. Tải lên một tệp `.zip` để trích xuất.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/extract-zip \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@archive.zip"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/archive_extracted.zip",
"originalSize": 2800000,
"processedSize": 3500000
}
```
## Notes {#notes}
- Chỉ các tệp `.zip` được chấp nhận làm đầu vào.
- Nếu tệp lưu trữ chứa một tệp duy nhất, tệp đó được trả về trực tiếp (không bọc trong ZIP).
- Nếu tệp lưu trữ chứa nhiều tệp, một ZIP phẳng được trả về với tất cả tệp được trích xuất ra cấp gốc (cấu trúc thư mục lồng nhau bị làm phẳng).
- Bảo vệ chống bom nén tích hợp sẵn sẽ từ chối các tệp lưu trữ có tỷ lệ nén hoặc số lượng tệp quá lớn để ngăn cạn kiệt tài nguyên.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Chuyển đổi một tệp HTML sang PDF."
i18n_source_hash: 20b9ae147db5
i18n_provenance: human
i18n_output_hash: 2eaa73043749
---
# HTML to PDF {#html-to-pdf}
Chuyển đổi một tệp HTML thành một tài liệu PDF có định kiểu. Các tài nguyên từ xa (ảnh, biểu định kiểu, script bên ngoài) bị vô hiệu hóa vì quyền riêng tư.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/html-to-pdf`
Nhận dữ liệu multipart form với một tệp HTML.
## Parameters {#parameters}
Công cụ này không có tham số cấu hình. Tải lên một tệp HTML và nó sẽ được chuyển đổi sang PDF.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/html-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@page.html"
```
## Example Response {#example-response}
Trả về `202 Accepted`. Theo dõi tiến trình qua SSE tại `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Các định dạng đầu vào được chấp nhận: `.html`, `.htm`.
- Các tài nguyên từ xa (ảnh, biểu định kiểu, script được tham chiếu qua URL) không được tải về vì quyền riêng tư và bảo mật.
- Các kiểu nội tuyến và ảnh nhúng (data URI) được giữ nguyên.
- Việc chuyển đổi được xử lý bởi WeasyPrint trên máy chủ.
+59
View File
@@ -0,0 +1,59 @@
---
description: "Chuyển đổi giữa JSON và XML, cả hai chiều."
i18n_source_hash: b3a6ded0c64a
i18n_provenance: human
i18n_output_hash: 75382ab82035
---
# JSON to XML {#json-to-xml}
Chuyển đổi giữa các định dạng JSON và XML theo cả hai chiều. Tải lên tệp JSON để nhận XML, hoặc tải lên tệp XML để nhận JSON.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/json-xml`
Nhận dữ liệu multipart form với một tệp JSON hoặc XML và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| pretty | boolean | No | `true` | In đẹp đầu ra với thụt lề |
## Example Request {#example-request}
JSON sang XML:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/json-xml \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@config.json" \
-F 'settings={"pretty": true}'
```
XML sang JSON:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/json-xml \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@config.xml" \
-F 'settings={"pretty": true}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/config.xml",
"originalSize": 850,
"processedSize": 1200
}
```
## Notes {#notes}
- Chiều chuyển đổi được tự động phát hiện từ phần mở rộng tệp đầu vào: `.json` tạo ra `.xml`, còn `.xml` tạo ra `.json`.
- Tham số `pretty` áp dụng cho cả hai chiều. Khi `false`, đầu ra gọn không có thụt lề.
- Các thuộc tính XML và cấu trúc lồng nhau được giữ nguyên trong quá trình chuyển đổi khứ hồi nếu có thể.
@@ -0,0 +1,46 @@
---
description: "Chuyển đổi một tệp Markdown thành tài liệu Word (DOCX)."
i18n_source_hash: 979cb8ee13f2
i18n_provenance: human
i18n_output_hash: d171cfa696fc
---
# Markdown to Word {#markdown-to-word}
Chuyển đổi một tệp Markdown thành tài liệu Word (DOCX), giữ nguyên tiêu đề, danh sách, khối mã và các định dạng khác.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/markdown-to-docx`
Nhận dữ liệu multipart form với một tệp Markdown.
## Parameters {#parameters}
Công cụ này không có tham số cấu hình. Tải lên một tệp Markdown và nó sẽ được chuyển đổi sang DOCX.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/markdown-to-docx \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@README.md"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/README.docx",
"originalSize": 4500,
"processedSize": 18200
}
```
## Notes {#notes}
- Các định dạng đầu vào được chấp nhận: `.md`, `.markdown`.
- Đây là một công cụ nhanh (đồng bộ) trả về kết quả trực tiếp.
- Tiêu đề, chữ đậm, chữ nghiêng, liên kết, khối mã và danh sách được ánh xạ sang các kiểu Word.
- Việc chuyển đổi được xử lý bởi Pandoc trên máy chủ.
@@ -0,0 +1,46 @@
---
description: "Chuyển đổi một tệp Markdown thành một trang HTML độc lập."
i18n_source_hash: 3ef805e8fc8c
i18n_provenance: human
i18n_output_hash: 85942e6caf12
---
# Markdown to HTML {#markdown-to-html}
Chuyển đổi một tệp Markdown thành một trang HTML độc lập. Các ảnh từ xa được tham chiếu trong nguồn được giữ nguyên trong đầu ra.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/markdown-to-html`
Nhận dữ liệu multipart form với một tệp Markdown.
## Parameters {#parameters}
Công cụ này không có tham số cấu hình. Tải lên một tệp Markdown và nó sẽ được chuyển đổi sang HTML.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/markdown-to-html \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@notes.md"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/notes.html",
"originalSize": 3200,
"processedSize": 5800
}
```
## Notes {#notes}
- Các định dạng đầu vào được chấp nhận: `.md`, `.markdown`.
- Đây là một công cụ nhanh (đồng bộ) trả về kết quả trực tiếp.
- Đầu ra là một trang HTML tự chứa với các kiểu nội tuyến.
- Các URL ảnh từ xa trong nguồn Markdown được giữ nguyên và không được tải về.
@@ -0,0 +1,46 @@
---
description: "Chuyển đổi tệp Markdown thành PDF được định kiểu."
i18n_source_hash: 18474dc8772a
i18n_provenance: human
i18n_output_hash: 40fbc855531a
---
# Markdown to PDF {#markdown-to-pdf}
Chuyển đổi tệp Markdown thành tài liệu PDF được định kiểu. Tài nguyên từ xa bị tắt để bảo vệ quyền riêng tư.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/markdown-to-pdf`
Chấp nhận dữ liệu biểu mẫu multipart với một tệp Markdown.
## Parameters {#parameters}
Công cụ này không có tham số nào có thể cấu hình. Tải lên một tệp Markdown và nó sẽ được chuyển đổi thành PDF.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/markdown-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.md"
```
## Example Response {#example-response}
Trả về `202 Accepted`. Theo dõi tiến trình qua SSE tại `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Các định dạng đầu vào được chấp nhận: `.md`, `.markdown`.
- Tài nguyên từ xa (hình ảnh, bảng định kiểu được tham chiếu qua URL) không được tải về nhằm bảo vệ quyền riêng tư và bảo mật.
- Markdown trước tiên được kết xuất thành HTML, sau đó chuyển đổi thành PDF thông qua WeasyPrint.
- Các khối mã, bảng và những phần tử Markdown khác được định kiểu trong đầu ra PDF.
+48
View File
@@ -0,0 +1,48 @@
---
description: "Gộp nhiều tệp CSV hoặc TSV có các cột trùng khớp thành một tệp."
i18n_source_hash: 109b5f399ac8
i18n_provenance: human
i18n_output_hash: 052180b3adef
---
# Merge CSVs {#merge-csvs}
Gộp nhiều tệp CSV hoặc TSV có các cột trùng khớp thành một tệp đã hợp nhất. Tất cả tệp đầu vào phải có cùng tiêu đề cột.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/merge-csvs`
Chấp nhận dữ liệu biểu mẫu multipart với hai tệp CSV trở lên. Không cần trường settings.
## Parameters {#parameters}
Công cụ này không có tham số nào có thể cấu hình. Tải lên 2-20 tệp CSV hoặc TSV có tiêu đề cột trùng khớp.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/merge-csvs \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@january.csv" \
-F "file=@february.csv" \
-F "file=@march.csv"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/merged.csv",
"originalSize": 30000,
"processedSize": 28500
}
```
## Notes {#notes}
- Yêu cầu từ 2 đến 20 tệp đầu vào.
- Tất cả tệp phải có chung tiêu đề cột. Việc gộp sẽ thất bại nếu các cột không trùng khớp.
- Hàng tiêu đề được đưa vào một lần trong đầu ra; các hàng dữ liệu từ mọi tệp được nối lại theo thứ tự tải lên.
- Cả tệp CSV và TSV đều được chấp nhận, nhưng tất cả tệp trong một yêu cầu nên dùng cùng một dấu phân cách.
@@ -0,0 +1,46 @@
---
description: "Chuyển đổi bản trình bày sang PDF."
i18n_source_hash: 49bd71c46bed
i18n_provenance: human
i18n_output_hash: cff9dbc97508
---
# PowerPoint to PDF {#powerpoint-to-pdf}
Chuyển đổi bản trình bày PowerPoint hoặc OpenDocument sang PDF, mỗi trang một slide.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/powerpoint-to-pdf`
Chấp nhận dữ liệu biểu mẫu multipart với một tệp PowerPoint/ODP.
## Parameters {#parameters}
Công cụ này không có tham số nào có thể cấu hình. Tải lên một bản trình bày và nó sẽ được chuyển đổi thành PDF.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/powerpoint-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@slides.pptx"
```
## Example Response {#example-response}
Trả về `202 Accepted`. Theo dõi tiến trình qua SSE tại `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Các định dạng đầu vào được chấp nhận: `.pptx`, `.ppt`, `.odp`.
- Mỗi slide trở thành một trang trong PDF.
- Việc chuyển đổi được xử lý bởi LibreOffice chạy ở chế độ headless trên máy chủ.
- Hoạt ảnh và hiệu ứng chuyển tiếp không được đưa vào đầu ra PDF.
+50
View File
@@ -0,0 +1,50 @@
---
description: "Chia một tệp CSV thành các tệp nhỏ hơn theo số hàng."
i18n_source_hash: a35dce4a99a3
i18n_provenance: human
i18n_output_hash: 86db44cf0346
---
# Split CSV {#split-csv}
Chia một tệp CSV hoặc TSV lớn thành các tệp nhỏ hơn theo số hàng. Trả về một kho lưu trữ ZIP chứa các phần.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/split-csv`
Chấp nhận dữ liệu biểu mẫu multipart với một tệp CSV và một trường JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| rowsPerFile | integer | No | `1000` | Số hàng dữ liệu trên mỗi tệp đầu ra (1-1.000.000) |
| keepHeader | boolean | No | `true` | Lặp lại hàng tiêu đề trong mỗi tệp đầu ra |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/split-csv \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@large-dataset.csv" \
-F 'settings={"rowsPerFile": 500, "keepHeader": true}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/large-dataset_parts.zip",
"originalSize": 1048576,
"processedSize": 1050000
}
```
## Notes {#notes}
- Đầu ra luôn là một kho lưu trữ ZIP chứa các phần CSV đã chia, được đặt tên theo thứ tự (ví dụ `part-1.csv`, `part-2.csv`).
- Khi `keepHeader``true`, mỗi phần bao gồm hàng tiêu đề gốc để mỗi tệp có thể được dùng độc lập.
- Cả tệp CSV và TSV đều được chấp nhận làm đầu vào.
- Số hàng chỉ tính các hàng dữ liệu; hàng tiêu đề không được tính.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Chuyển đổi tệp Word, Markdown, HTML hoặc văn bản thuần sang EPUB."
i18n_source_hash: 63e1afa91c52
i18n_provenance: human
i18n_output_hash: 2b0107b3c169
---
# Convert to EPUB {#convert-to-epub}
Chuyển đổi tài liệu Word, Markdown, HTML hoặc tệp văn bản thuần sang định dạng sách điện tử EPUB.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/to-epub`
Chấp nhận dữ liệu biểu mẫu multipart với một tệp Word/Markdown/HTML/TXT.
## Parameters {#parameters}
Công cụ này không có tham số nào có thể cấu hình. Tải lên một tài liệu và nó sẽ được chuyển đổi thành EPUB.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/to-epub \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@manuscript.docx"
```
## Example Response {#example-response}
Trả về `202 Accepted`. Theo dõi tiến trình qua SSE tại `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Các định dạng đầu vào được chấp nhận: `.docx`, `.md`, `.html`, `.txt`.
- Đầu ra EPUB tuân theo đặc tả EPUB 3.
- Các tiêu đề trong tài liệu nguồn được dùng để tạo mục lục.
- Việc chuyển đổi được xử lý bởi Pandoc trên máy chủ.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Chuyển đổi tài liệu Word sang PDF."
i18n_source_hash: f814ba1a1a53
i18n_provenance: human
i18n_output_hash: c2bd1817fd51
---
# Word to PDF {#word-to-pdf}
Chuyển đổi tài liệu Word, văn bản OpenDocument, RTF hoặc tệp văn bản thuần sang PDF.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/word-to-pdf`
Chấp nhận dữ liệu biểu mẫu multipart với một tệp Word/ODT/RTF/TXT.
## Parameters {#parameters}
Công cụ này không có tham số nào có thể cấu hình. Tải lên một tài liệu và nó sẽ được chuyển đổi thành PDF.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/word-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.docx"
```
## Example Response {#example-response}
Trả về `202 Accepted`. Theo dõi tiến trình qua SSE tại `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Các định dạng đầu vào được chấp nhận: `.docx`, `.doc`, `.odt`, `.rtf`, `.txt`.
- Việc chuyển đổi được xử lý bởi LibreOffice chạy ở chế độ headless trên máy chủ.
- Phông chữ được nhúng trong tài liệu sẽ được dùng khi có sẵn; nếu không, phông chữ hệ thống sẽ được thay thế.
- Đầu trang, chân trang, bảng và hình ảnh được giữ nguyên trong đầu ra PDF.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Trích xuất các phần tử lặp lại từ XML vào một bảng CSV."
i18n_source_hash: 3ab1019bff8a
i18n_provenance: human
i18n_output_hash: 09b464252037
---
# XML to CSV {#xml-to-csv}
Trích xuất các phần tử lặp lại từ một tệp XML vào một bảng CSV phẳng. Công cụ tự động tìm mảng đối tượng đầu tiên trong cây XML và ánh xạ mỗi phần tử thành một hàng.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/xml-to-csv`
Chấp nhận dữ liệu biểu mẫu multipart với một tệp XML. Không cần trường settings.
## Parameters {#parameters}
Công cụ này không có tham số nào có thể cấu hình. Phần tử lặp lại được tự động phát hiện từ cấu trúc XML.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/xml-to-csv \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@catalog.xml"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/catalog.csv",
"originalSize": 4500,
"processedSize": 1800
}
```
## Notes {#notes}
- Chỉ chấp nhận tệp `.xml` làm đầu vào.
- Công cụ quét cây XML để tìm tập phần tử anh em lặp lại đầu tiên và dùng chúng làm các hàng.
- Mỗi tên phần tử con hoặc thuộc tính duy nhất trở thành một tiêu đề cột CSV.
- Đây là một chuyển đổi một chiều. Để chuyển đổi JSON/XML hai chiều, hãy dùng công cụ [JSON to XML](/vi/tools/files/json-xml).
+55
View File
@@ -0,0 +1,55 @@
---
description: "Chuyển đổi giữa YAML và JSON, cả hai chiều."
i18n_source_hash: acf8ca21ee99
i18n_provenance: human
i18n_output_hash: e960d9244e1a
---
# YAML / JSON {#yaml-json}
Chuyển đổi giữa các định dạng YAML và JSON theo cả hai chiều. Tải lên một tệp YAML để nhận JSON, hoặc tải lên một tệp JSON để nhận YAML.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/yaml-json`
Chấp nhận dữ liệu biểu mẫu multipart với một tệp YAML hoặc JSON. Không cần trường settings.
## Parameters {#parameters}
Công cụ này không có tham số nào có thể cấu hình. Chiều chuyển đổi được xác định bởi phần mở rộng của tệp đầu vào.
## Example Request {#example-request}
YAML sang JSON:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/yaml-json \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@config.yaml"
```
JSON sang YAML:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/yaml-json \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@config.json"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/config.json",
"originalSize": 620,
"processedSize": 780
}
```
## Notes {#notes}
- Chiều chuyển đổi được tự động phát hiện từ phần mở rộng của tệp đầu vào: `.yaml` hoặc `.yml` tạo ra `.json`, và `.json` tạo ra `.yaml`.
- Cả hai phần mở rộng `.yaml``.yml` đều được chấp nhận.
- Chỉ tài liệu đầu tiên trong một tệp YAML nhiều tài liệu được chuyển đổi; các tài liệu bổ sung được phân tách bởi `---` sẽ bị bỏ qua.