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: "สร้างแผนภูมิแท่ง เส้น หรือวงกลมจากข้อมูล CSV หรือ JSON"
i18n_source_hash: d3c39384457b
i18n_provenance: human
i18n_output_hash: aa46178c8d3e
---
# Chart Maker {#chart-maker}
สร้างแผนภูมิแท่ง เส้น หรือวงกลมจากข้อมูล CSV หรือ JSON ส่งคืนภาพ PNG ของแผนภูมิที่เรนเดอร์แล้ว
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/chart-maker`
รับข้อมูล multipart form ที่มีไฟล์ CSV หรือ JSON และฟิลด์ JSON `settings`
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| kind | string | No | `"bar"` | ประเภทแผนภูมิ: `bar`, `line`, `pie` |
| title | string | No | - | ชื่อแผนภูมิ (สูงสุด 120 อักขระ) |
| width | integer | No | `960` | ความกว้างแผนภูมิเป็นพิกเซล (320-2048) |
| height | integer | No | `540` | ความสูงแผนภูมิเป็นพิกเซล (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}
- อินพุตต้องเป็นไฟล์ `.csv` หรือ `.json` ไฟล์ CSV ควรมีแถวส่วนหัวพร้อมชื่อคอลัมน์
- คอลัมน์แรกใช้เป็นป้ายกำกับหมวดหมู่ คอลัมน์ที่สองต้องเป็นตัวเลขและให้ค่าข้อมูล ใช้เพียงสองคอลัมน์เท่านั้น
- อินพุต JSON ควรเป็นอาร์เรย์ของออบเจกต์ `{label, value}` หรือออบเจกต์ธรรมดาที่คีย์กลายเป็นป้ายกำกับและค่ากลายเป็นจุดข้อมูล
- จุดข้อมูลสูงสุด 100 จุด ค่าทั้งหมดต้องเป็นศูนย์หรือมากกว่า
- ผลลัพธ์จะเป็นภาพ PNG เสมอ ไม่ว่ารูปแบบอินพุตจะเป็นอะไร
@@ -0,0 +1,49 @@
---
description: "แปลงระหว่างรูปแบบ Word, OpenDocument, RTF และข้อความธรรมดา"
i18n_source_hash: 89771292569d
i18n_provenance: human
i18n_output_hash: e8a7671f10b7
---
# Convert Document {#convert-document}
แปลงเอกสารระหว่างรูปแบบ Word (DOCX), OpenDocument (ODT), RTF และข้อความธรรมดา โดยใช้ LibreOffice
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/convert-document`
รับข้อมูล multipart form ที่มีไฟล์ Word/ODT/RTF/TXT และฟิลด์ JSON `settings`
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| format | string | Yes | - | รูปแบบผลลัพธ์: `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}
ส่งคืน `202 Accepted` ติดตามความคืบหน้าผ่าน SSE ที่ `/api/v1/jobs/{jobId}/progress`
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- รูปแบบอินพุตที่รับได้: `.docx`, `.doc`, `.odt`, `.rtf`, `.txt`
- การแปลงจัดการโดย LibreOffice ที่ทำงานแบบ headless บนเซิร์ฟเวอร์
- การจัดรูปแบบที่ซับซ้อน (มาโคร ออบเจกต์ที่ฝัง) อาจไม่คงอยู่ผ่านการแปลงระหว่างรูปแบบ
- รูปแบบผลลัพธ์ต้องแตกต่างจากรูปแบบอินพุต
@@ -0,0 +1,49 @@
---
description: "แปลงระหว่างรูปแบบงานนำเสนอ PowerPoint และ OpenDocument"
i18n_source_hash: 08ba415d39ac
i18n_provenance: human
i18n_output_hash: 9697b0499ef7
---
# Convert Presentation {#convert-presentation}
แปลงงานนำเสนอระหว่างรูปแบบ PowerPoint (PPTX) และ OpenDocument Presentation (ODP)
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/convert-presentation`
รับข้อมูล multipart form ที่มีไฟล์ PowerPoint/ODP และฟิลด์ JSON `settings`
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| format | string | Yes | - | รูปแบบผลลัพธ์: `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}
ส่งคืน `202 Accepted` ติดตามความคืบหน้าผ่าน SSE ที่ `/api/v1/jobs/{jobId}/progress`
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- รูปแบบอินพุตที่รับได้: `.pptx`, `.ppt`, `.odp`
- การแปลงจัดการโดย LibreOffice ที่ทำงานแบบ headless บนเซิร์ฟเวอร์
- แอนิเมชันและเอฟเฟกต์การเปลี่ยนสไลด์อาจไม่คงอยู่ข้ามรูปแบบ
- รูปแบบผลลัพธ์ต้องแตกต่างจากรูปแบบอินพุต
@@ -0,0 +1,49 @@
---
description: "แปลงระหว่างรูปแบบ Excel, OpenDocument และ CSV"
i18n_source_hash: b813b1b06962
i18n_provenance: human
i18n_output_hash: 6a48863db6c5
---
# Convert Spreadsheet {#convert-spreadsheet}
แปลงสเปรดชีตระหว่างรูปแบบ Excel (XLSX), OpenDocument Spreadsheet (ODS) และ CSV เวิร์กบุ๊กหลายชีตจะส่งออกชีตแรกเมื่อแปลงเป็น CSV
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/convert-spreadsheet`
รับข้อมูล multipart form ที่มีไฟล์ Excel/ODS/CSV และฟิลด์ JSON `settings`
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| format | string | Yes | - | รูปแบบผลลัพธ์: `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}
ส่งคืน `202 Accepted` ติดตามความคืบหน้าผ่าน SSE ที่ `/api/v1/jobs/{jobId}/progress`
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- รูปแบบอินพุตที่รับได้: `.xlsx`, `.xls`, `.ods`, `.csv`
- เมื่อแปลงเวิร์กบุ๊กหลายชีตเป็น CSV จะส่งออกเฉพาะชีตแรกเท่านั้น
- สูตรจะถูกประเมินผลและส่งออกเป็นค่าคงที่ในผลลัพธ์ CSV
- รูปแบบผลลัพธ์ต้องแตกต่างจากรูปแบบอินพุต
+48
View File
@@ -0,0 +1,48 @@
---
description: "รวมไฟล์หลายไฟล์เป็นไฟล์เก็บถาวร ZIP เดียว"
i18n_source_hash: 9ff1250dbd36
i18n_provenance: human
i18n_output_hash: ae319d52ad9f
---
# Create ZIP {#create-zip}
รวมไฟล์หลายไฟล์ทุกประเภทเป็นไฟล์เก็บถาวร ZIP เดียว ชื่อไฟล์ที่ซ้ำกันจะถูกกำจัดความซ้ำโดยอัตโนมัติ
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/create-zip`
รับข้อมูล multipart form ที่มีไฟล์ตั้งแต่สองไฟล์ขึ้นไป ไม่จำเป็นต้องมีฟิลด์การตั้งค่า
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ อัปโหลดไฟล์ 2-50 ไฟล์ทุกประเภทเพื่อรวมเข้าด้วยกัน
## 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}
- ต้องการไฟล์อินพุตระหว่าง 2 ถึง 50 ไฟล์
- รับไฟล์ทุกประเภท ไม่มีข้อจำกัดในรูปแบบอินพุต
- หากไฟล์หลายไฟล์ใช้ชื่อเดียวกัน ระบบจะกำจัดความซ้ำโดยอัตโนมัติด้วยส่วนต่อท้ายที่เป็นตัวเลข
- ไฟล์เก็บถาวรผลลัพธ์ใช้การบีบอัด ZIP มาตรฐาน (deflate)
+59
View File
@@ -0,0 +1,59 @@
---
description: "แปลงระหว่าง CSV และ Excel (XLSX) ทั้งสองทิศทาง"
i18n_source_hash: 213297311e36
i18n_provenance: human
i18n_output_hash: 648347599787
---
# CSV to Excel {#csv-to-excel}
แปลงระหว่างรูปแบบ CSV และ Excel (XLSX) ทั้งสองทิศทาง อัปโหลดไฟล์ CSV หรือ TSV เพื่อรับ XLSX หรืออัปโหลดไฟล์ XLSX เพื่อรับ CSV
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/csv-excel`
รับข้อมูล multipart form ที่มีไฟล์ CSV, TSV หรือ XLSX และฟิลด์ JSON `settings`
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| sheet | integer | No | `1` | หมายเลขเวิร์กชีตที่จะส่งออกเมื่อแปลงจาก XLSX (ต่ำสุด 1) |
## Example Request {#example-request}
CSV to 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 to 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}
- ทิศทางการแปลงถูกตรวจจับโดยอัตโนมัติจากนามสกุลไฟล์อินพุต: `.csv` หรือ `.tsv` ให้ผลเป็น `.xlsx` และ `.xlsx` ให้ผลเป็น `.csv`
- พารามิเตอร์ `sheet` ใช้เฉพาะเมื่อแปลงจาก XLSX เท่านั้น โดยเลือกว่าจะส่งออกเวิร์กชีตใด
- ไฟล์ TSV (ค่าที่คั่นด้วยแท็บ) ได้รับการรองรับควบคู่กับ CSV
+60
View File
@@ -0,0 +1,60 @@
---
description: "แปลงระหว่าง CSV และ JSON ทั้งสองทิศทาง"
i18n_source_hash: 978c08ad46d3
i18n_provenance: human
i18n_output_hash: 2ea4b071076a
---
# CSV to JSON {#csv-to-json}
แปลงระหว่างรูปแบบ CSV และ JSON ทั้งสองทิศทาง อัปโหลดไฟล์ CSV หรือ TSV เพื่อรับอาร์เรย์ JSON ของออบเจกต์ หรืออัปโหลดอาร์เรย์ JSON เพื่อรับไฟล์ CSV
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/csv-json`
รับข้อมูล multipart form ที่มีไฟล์ CSV, TSV หรือ JSON และฟิลด์ JSON `settings`
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| pretty | boolean | No | `true` | จัดรูปแบบผลลัพธ์ JSON ให้อ่านง่ายพร้อมการเยื้อง |
## Example Request {#example-request}
CSV to 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 to 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}
- ทิศทางการแปลงถูกตรวจจับโดยอัตโนมัติจากนามสกุลไฟล์อินพุต: `.csv` หรือ `.tsv` ให้ผลเป็น `.json` และ `.json` ให้ผลเป็น `.csv`
- พารามิเตอร์ `pretty` ส่งผลต่อผลลัพธ์ JSON เท่านั้น เมื่อตั้งค่าเป็น `false` ผลลัพธ์จะเป็นสตริง JSON บรรทัดเดียวแบบกะทัดรัด
- อินพุต JSON ต้องเป็นอาร์เรย์ของออบเจกต์ที่มีคีย์ที่สอดคล้องกัน แต่ละออบเจกต์กลายเป็นหนึ่งแถว และแต่ละคีย์กลายเป็นส่วนหัวคอลัมน์
- ไฟล์ TSV (ค่าที่คั่นด้วยแท็บ) ได้รับการรองรับควบคู่กับ CSV
+49
View File
@@ -0,0 +1,49 @@
---
description: "แปลง EPUB เป็น PDF, DOCX, HTML หรือ Markdown"
i18n_source_hash: 7d94fc18ca97
i18n_provenance: human
i18n_output_hash: 46f1d9a0017f
---
# Convert EPUB {#convert-epub}
แปลงหนังสืออิเล็กทรอนิกส์ EPUB เป็น PDF, Word (DOCX), HTML หรือ Markdown ทรัพยากรระยะไกลภายในหนังสือจะไม่ถูกดึงมา
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/epub-convert`
รับข้อมูล multipart form ที่มีไฟล์ EPUB และฟิลด์ JSON `settings`
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| format | string | Yes | - | รูปแบบผลลัพธ์: `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}
ส่งคืน `202 Accepted` ติดตามความคืบหน้าผ่าน SSE ที่ `/api/v1/jobs/{jobId}/progress`
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- รูปแบบอินพุตที่รับได้: `.epub`
- ทรัพยากรระยะไกลที่ฝังอยู่ใน EPUB (ภาพภายนอก ฟอนต์) จะไม่ถูกดึงมาเพื่อความปลอดภัย
- ความคมชัดของภาพในผลลัพธ์ที่แปลงแล้วอาจแตกต่างกันไปขึ้นอยู่กับโครงสร้างของ EPUB
- การแปลงจัดการโดย Pandoc บนเซิร์ฟเวอร์
+46
View File
@@ -0,0 +1,46 @@
---
description: "แปลงสเปรดชีตเป็น PDF"
i18n_source_hash: 4dbe2a810ea6
i18n_provenance: human
i18n_output_hash: 2836776e50cf
---
# Excel to PDF {#excel-to-pdf}
แปลงสเปรดชีต Excel, OpenDocument หรือ CSV เป็น PDF ชีตที่กว้างอาจแบ่งหน้าข้ามหลายหน้า
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/excel-to-pdf`
รับข้อมูล multipart form ที่มีไฟล์ Excel/ODS/CSV
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ อัปโหลดสเปรดชีตแล้วจะถูกแปลงเป็น 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}
ส่งคืน `202 Accepted` ติดตามความคืบหน้าผ่าน SSE ที่ `/api/v1/jobs/{jobId}/progress`
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- รูปแบบอินพุตที่รับได้: `.xlsx`, `.xls`, `.ods`, `.csv`
- ชีตที่กว้างอาจถูกแบ่งข้ามหลายหน้าใน PDF ผลลัพธ์
- แผนภูมิและการจัดรูปแบบตามเงื่อนไขจะถูกเรนเดอร์ในผลลัพธ์ PDF
- การแปลงจัดการโดย LibreOffice ที่ทำงานแบบ headless บนเซิร์ฟเวอร์
+46
View File
@@ -0,0 +1,46 @@
---
description: "แตกไฟล์จากไฟล์เก็บถาวร ZIP อย่างปลอดภัยพร้อมการป้องกัน bomb"
i18n_source_hash: 484a1f1051b8
i18n_provenance: human
i18n_output_hash: 2426b447b784
---
# Extract ZIP {#extract-zip}
แตกไฟล์จากไฟล์เก็บถาวร ZIP อย่างปลอดภัย ไฟล์เก็บถาวรที่มีไฟล์เดียวจะส่งคืนไฟล์ที่บรรจุอยู่โดยตรง ไฟล์เก็บถาวรที่มีหลายไฟล์จะส่งคืน ZIP แบบแบนพร้อมเนื้อหาที่แตกออกมา
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/extract-zip`
รับข้อมูล multipart form ที่มีไฟล์ ZIP ไม่จำเป็นต้องมีฟิลด์การตั้งค่า
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ อัปโหลดไฟล์ `.zip` เพื่อแตก
## 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}
- รับเฉพาะไฟล์ `.zip` เป็นอินพุตเท่านั้น
- หากไฟล์เก็บถาวรมีไฟล์เดียว ไฟล์นั้นจะถูกส่งคืนโดยตรง (ไม่ห่อด้วย ZIP)
- หากไฟล์เก็บถาวรมีหลายไฟล์ จะส่งคืน ZIP แบบแบนพร้อมไฟล์ทั้งหมดที่แตกออกไปยังระดับราก (โครงสร้างไดเรกทอรีที่ซ้อนกันจะถูกทำให้แบน)
- การป้องกัน bomb ในตัวจะปฏิเสธไฟล์เก็บถาวรที่มีอัตราส่วนการบีบอัดหรือจำนวนไฟล์ที่มากเกินไป เพื่อป้องกันการใช้ทรัพยากรจนหมด
+46
View File
@@ -0,0 +1,46 @@
---
description: "แปลงไฟล์ HTML เป็น PDF"
i18n_source_hash: 20b9ae147db5
i18n_provenance: human
i18n_output_hash: ec3e034ada3b
---
# HTML to PDF {#html-to-pdf}
แปลงไฟล์ HTML เป็นเอกสาร PDF ที่มีการจัดรูปแบบ ทรัพยากรระยะไกล (ภาพภายนอก สไตล์ชีต สคริปต์) จะถูกปิดใช้งานเพื่อความเป็นส่วนตัว
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/html-to-pdf`
รับข้อมูล multipart form ที่มีไฟล์ HTML
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ อัปโหลดไฟล์ HTML แล้วจะถูกแปลงเป็น 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}
ส่งคืน `202 Accepted` ติดตามความคืบหน้าผ่าน SSE ที่ `/api/v1/jobs/{jobId}/progress`
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- รูปแบบอินพุตที่รับได้: `.html`, `.htm`
- ทรัพยากรระยะไกล (ภาพ สไตล์ชีต สคริปต์ที่อ้างอิงผ่าน URL) จะไม่ถูกดึงมาเพื่อความเป็นส่วนตัวและความปลอดภัย
- สไตล์อินไลน์และภาพที่ฝัง (data URI) จะถูกคงไว้
- การแปลงจัดการโดย WeasyPrint บนเซิร์ฟเวอร์
+59
View File
@@ -0,0 +1,59 @@
---
description: "แปลงระหว่าง JSON และ XML ทั้งสองทิศทาง"
i18n_source_hash: b3a6ded0c64a
i18n_provenance: human
i18n_output_hash: 94ec70ff1201
---
# JSON to XML {#json-to-xml}
แปลงระหว่างรูปแบบ JSON และ XML ทั้งสองทิศทาง อัปโหลดไฟล์ JSON เพื่อรับ XML หรืออัปโหลดไฟล์ XML เพื่อรับ JSON
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/json-xml`
รับข้อมูล multipart form ที่มีไฟล์ JSON หรือ XML และฟิลด์ JSON `settings`
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| pretty | boolean | No | `true` | จัดรูปแบบผลลัพธ์ให้อ่านง่ายพร้อมการเยื้อง |
## Example Request {#example-request}
JSON to 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 to 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}
- ทิศทางการแปลงถูกตรวจจับโดยอัตโนมัติจากนามสกุลไฟล์อินพุต: `.json` ให้ผลเป็น `.xml` และ `.xml` ให้ผลเป็น `.json`
- พารามิเตอร์ `pretty` ใช้กับทั้งสองทิศทาง เมื่อ `false` ผลลัพธ์จะกะทัดรัดโดยไม่มีการเยื้อง
- แอตทริบิวต์ XML และโครงสร้างที่ซ้อนกันจะถูกคงไว้ระหว่างการแปลงไปกลับเมื่อทำได้
@@ -0,0 +1,46 @@
---
description: "แปลงไฟล์ Markdown เป็นเอกสาร Word (DOCX)"
i18n_source_hash: 979cb8ee13f2
i18n_provenance: human
i18n_output_hash: 5284cb3c2ada
---
# Markdown to Word {#markdown-to-word}
แปลงไฟล์ Markdown เป็นเอกสาร Word (DOCX) โดยคงหัวเรื่อง รายการ บล็อกโค้ด และการจัดรูปแบบอื่น ๆ ไว้
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/markdown-to-docx`
รับข้อมูล multipart form ที่มีไฟล์ Markdown
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ อัปโหลดไฟล์ Markdown แล้วจะถูกแปลงเป็น 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}
- รูปแบบอินพุตที่รับได้: `.md`, `.markdown`
- นี่คือเครื่องมือแบบเร็ว (ซิงโครนัส) ที่ส่งคืนผลลัพธ์โดยตรง
- หัวเรื่อง ตัวหนา ตัวเอียง ลิงก์ บล็อกโค้ด และรายการ จะถูกแมปไปยังสไตล์ของ Word
- การแปลงจัดการโดย Pandoc บนเซิร์ฟเวอร์
@@ -0,0 +1,46 @@
---
description: "แปลงไฟล์ Markdown เป็นหน้า HTML แบบสแตนด์อโลน"
i18n_source_hash: 3ef805e8fc8c
i18n_provenance: human
i18n_output_hash: 510bf75b8e52
---
# Markdown to HTML {#markdown-to-html}
แปลงไฟล์ Markdown เป็นหน้า HTML แบบสแตนด์อโลน ภาพระยะไกลที่อ้างอิงในต้นฉบับจะถูกคงไว้ตามเดิมในผลลัพธ์
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/markdown-to-html`
รับข้อมูล multipart form ที่มีไฟล์ Markdown
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ อัปโหลดไฟล์ Markdown แล้วจะถูกแปลงเป็น 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}
- รูปแบบอินพุตที่รับได้: `.md`, `.markdown`
- นี่คือเครื่องมือแบบเร็ว (ซิงโครนัส) ที่ส่งคืนผลลัพธ์โดยตรง
- ผลลัพธ์เป็นหน้า HTML แบบสมบูรณ์ในตัวพร้อมสไตล์อินไลน์
- URL ของภาพระยะไกลในต้นฉบับ Markdown จะถูกคงไว้ตามเดิมและไม่ถูกดึงมา
@@ -0,0 +1,46 @@
---
description: "แปลงไฟล์ Markdown เป็น PDF ที่จัดสไตล์แล้ว"
i18n_source_hash: 18474dc8772a
i18n_provenance: human
i18n_output_hash: 5cf38edbc323
---
# Markdown to PDF {#markdown-to-pdf}
แปลงไฟล์ Markdown เป็นเอกสาร PDF ที่จัดสไตล์แล้ว ทรัพยากรจากระยะไกลถูกปิดใช้งานเพื่อความเป็นส่วนตัว
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/markdown-to-pdf`
รับข้อมูลแบบ multipart form data พร้อมไฟล์ Markdown
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ อัปโหลดไฟล์ Markdown แล้วจะถูกแปลงเป็น 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}
ส่งคืน `202 Accepted` ติดตามความคืบหน้าผ่าน SSE ที่ `/api/v1/jobs/{jobId}/progress`
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- รูปแบบไฟล์อินพุตที่รองรับ: `.md`, `.markdown`
- ทรัพยากรจากระยะไกล (รูปภาพ, สไตล์ชีตที่อ้างอิงผ่าน URL) จะไม่ถูกดึงมาเพื่อความเป็นส่วนตัวและความปลอดภัย
- Markdown จะถูกเรนเดอร์เป็น HTML ก่อน แล้วจึงแปลงเป็น PDF ผ่าน WeasyPrint
- บล็อกโค้ด, ตาราง และองค์ประกอบ Markdown อื่น ๆ จะถูกจัดสไตล์ในเอาต์พุต PDF
+48
View File
@@ -0,0 +1,48 @@
---
description: "รวมไฟล์ CSV หรือ TSV หลายไฟล์ที่มีคอลัมน์ตรงกันเข้าเป็นไฟล์เดียว"
i18n_source_hash: 109b5f399ac8
i18n_provenance: human
i18n_output_hash: 250f984f4740
---
# Merge CSVs {#merge-csvs}
รวมไฟล์ CSV หรือ TSV หลายไฟล์ที่มีคอลัมน์ตรงกันเข้าเป็นไฟล์รวมไฟล์เดียว ไฟล์อินพุตทั้งหมดต้องมีหัวคอลัมน์เหมือนกัน
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/merge-csvs`
รับข้อมูลแบบ multipart form data พร้อมไฟล์ CSV สองไฟล์ขึ้นไป ไม่ต้องมีฟิลด์ settings
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ อัปโหลดไฟล์ CSV หรือ TSV จำนวน 2-20 ไฟล์ที่มีหัวคอลัมน์ตรงกัน
## 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}
- ต้องมีไฟล์อินพุตระหว่าง 2 ถึง 20 ไฟล์
- ไฟล์ทั้งหมดต้องมีหัวคอลัมน์เหมือนกัน การรวมจะล้มเหลวหากคอลัมน์ไม่ตรงกัน
- แถวหัวจะรวมอยู่ในเอาต์พุตเพียงครั้งเดียว แถวข้อมูลจากทุกไฟล์จะถูกต่อกันตามลำดับการอัปโหลด
- รับทั้งไฟล์ CSV และ TSV แต่ไฟล์ทั้งหมดในคำขอเดียวควรใช้ตัวคั่นเดียวกัน
@@ -0,0 +1,46 @@
---
description: "แปลงงานนำเสนอเป็น PDF"
i18n_source_hash: 49bd71c46bed
i18n_provenance: human
i18n_output_hash: e52f4e31f71d
---
# PowerPoint to PDF {#powerpoint-to-pdf}
แปลงงานนำเสนอ PowerPoint หรือ OpenDocument เป็น PDF โดยหนึ่งสไลด์ต่อหนึ่งหน้า
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/powerpoint-to-pdf`
รับข้อมูลแบบ multipart form data พร้อมไฟล์ PowerPoint/ODP
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ อัปโหลดงานนำเสนอแล้วจะถูกแปลงเป็น 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}
ส่งคืน `202 Accepted` ติดตามความคืบหน้าผ่าน SSE ที่ `/api/v1/jobs/{jobId}/progress`
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- รูปแบบไฟล์อินพุตที่รองรับ: `.pptx`, `.ppt`, `.odp`
- แต่ละสไลด์จะกลายเป็นหนึ่งหน้าใน PDF
- การแปลงจัดการโดย LibreOffice ที่ทำงานแบบ headless บนเซิร์ฟเวอร์
- แอนิเมชันและทรานสิชันจะไม่รวมอยู่ในเอาต์พุต PDF
+50
View File
@@ -0,0 +1,50 @@
---
description: "แบ่ง CSV เป็นไฟล์ย่อยตามจำนวนแถว"
i18n_source_hash: a35dce4a99a3
i18n_provenance: human
i18n_output_hash: 0eaf6240631d
---
# Split CSV {#split-csv}
แบ่งไฟล์ CSV หรือ TSV ขนาดใหญ่เป็นไฟล์ย่อยตามจำนวนแถว ส่งคืนไฟล์เก็บถาวร ZIP ที่มีชิ้นส่วนต่าง ๆ
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/split-csv`
รับข้อมูลแบบ multipart form data พร้อมไฟล์ CSV และฟิลด์ JSON `settings`
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| rowsPerFile | integer | No | `1000` | จำนวนแถวข้อมูลต่อไฟล์เอาต์พุต (1-1,000,000) |
| keepHeader | boolean | No | `true` | ทำซ้ำแถวหัวในแต่ละไฟล์เอาต์พุต |
## 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}
- เอาต์พุตเป็นไฟล์เก็บถาวร ZIP ที่มีชิ้นส่วน CSV ที่แบ่งแล้วเสมอ ตั้งชื่อตามลำดับ (เช่น `part-1.csv`, `part-2.csv`)
- เมื่อ `keepHeader` เป็น `true` แต่ละชิ้นส่วนจะมีแถวหัวต้นฉบับ เพื่อให้แต่ละไฟล์ใช้งานได้อย่างอิสระ
- รับทั้งไฟล์ CSV และ TSV เป็นอินพุต
- จำนวนแถวหมายถึงแถวข้อมูลเท่านั้น แถวหัวไม่ถูกนับ
+46
View File
@@ -0,0 +1,46 @@
---
description: "แปลงไฟล์ Word, Markdown, HTML หรือข้อความล้วนเป็น EPUB"
i18n_source_hash: 63e1afa91c52
i18n_provenance: human
i18n_output_hash: 0d10017ccf23
---
# Convert to EPUB {#convert-to-epub}
แปลงเอกสาร Word, Markdown, HTML หรือไฟล์ข้อความล้วนเป็นรูปแบบหนังสืออิเล็กทรอนิกส์ EPUB
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/to-epub`
รับข้อมูลแบบ multipart form data พร้อมไฟล์ Word/Markdown/HTML/TXT
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ อัปโหลดเอกสารแล้วจะถูกแปลงเป็น 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}
ส่งคืน `202 Accepted` ติดตามความคืบหน้าผ่าน SSE ที่ `/api/v1/jobs/{jobId}/progress`
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- รูปแบบไฟล์อินพุตที่รองรับ: `.docx`, `.md`, `.html`, `.txt`
- เอาต์พุต EPUB เป็นไปตามข้อกำหนด EPUB 3
- หัวข้อในเอกสารต้นฉบับจะถูกใช้สร้างสารบัญ
- การแปลงจัดการโดย Pandoc บนเซิร์ฟเวอร์
+46
View File
@@ -0,0 +1,46 @@
---
description: "แปลงเอกสาร Word เป็น PDF"
i18n_source_hash: f814ba1a1a53
i18n_provenance: human
i18n_output_hash: 87be3f60af5d
---
# Word to PDF {#word-to-pdf}
แปลงเอกสาร Word, ข้อความ OpenDocument, RTF หรือไฟล์ข้อความล้วนเป็น PDF
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/word-to-pdf`
รับข้อมูลแบบ multipart form data พร้อมไฟล์ Word/ODT/RTF/TXT
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ อัปโหลดเอกสารแล้วจะถูกแปลงเป็น 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}
ส่งคืน `202 Accepted` ติดตามความคืบหน้าผ่าน SSE ที่ `/api/v1/jobs/{jobId}/progress`
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- รูปแบบไฟล์อินพุตที่รองรับ: `.docx`, `.doc`, `.odt`, `.rtf`, `.txt`
- การแปลงจัดการโดย LibreOffice ที่ทำงานแบบ headless บนเซิร์ฟเวอร์
- ฟอนต์ที่ฝังอยู่ในเอกสารจะถูกใช้เมื่อมี มิฉะนั้นจะใช้ฟอนต์ระบบแทน
- ส่วนหัว, ส่วนท้าย, ตาราง และรูปภาพจะถูกรักษาไว้ในเอาต์พุต PDF
+46
View File
@@ -0,0 +1,46 @@
---
description: "สกัดองค์ประกอบที่ซ้ำกันจาก XML เป็นตาราง CSV"
i18n_source_hash: 3ab1019bff8a
i18n_provenance: human
i18n_output_hash: 8c4c248c36c3
---
# XML to CSV {#xml-to-csv}
สกัดองค์ประกอบที่ซ้ำกันจากไฟล์ XML เป็นตาราง CSV แบบแบน เครื่องมือจะค้นหาอาร์เรย์แรกของอ็อบเจกต์ในโครงสร้างต้นไม้ XML โดยอัตโนมัติ และแมปแต่ละองค์ประกอบเป็นแถว
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/xml-to-csv`
รับข้อมูลแบบ multipart form data พร้อมไฟล์ XML ไม่ต้องมีฟิลด์ settings
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ องค์ประกอบที่ซ้ำกันจะถูกตรวจจับอัตโนมัติจากโครงสร้าง 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}
- รับเฉพาะไฟล์ `.xml` เป็นอินพุตเท่านั้น
- เครื่องมือจะสแกนโครงสร้างต้นไม้ XML เพื่อหาชุดองค์ประกอบพี่น้องที่ซ้ำกันชุดแรก และใช้ชุดนั้นเป็นแถว
- ชื่อองค์ประกอบลูกหรือแอตทริบิวต์ที่ไม่ซ้ำกันแต่ละชื่อจะกลายเป็นหัวคอลัมน์ CSV
- นี่เป็นการแปลงทางเดียว สำหรับการแปลง JSON/XML แบบสองทาง ให้ใช้เครื่องมือ [JSON to XML](/th/tools/files/json-xml)
+55
View File
@@ -0,0 +1,55 @@
---
description: "แปลงระหว่าง YAML และ JSON ได้ทั้งสองทิศทาง"
i18n_source_hash: acf8ca21ee99
i18n_provenance: human
i18n_output_hash: b6ca87b1b8e1
---
# YAML / JSON {#yaml-json}
แปลงระหว่างรูปแบบ YAML และ JSON ได้ทั้งสองทิศทาง อัปโหลดไฟล์ YAML เพื่อรับ JSON หรืออัปโหลดไฟล์ JSON เพื่อรับ YAML
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/yaml-json`
รับข้อมูลแบบ multipart form data พร้อมไฟล์ YAML หรือ JSON ไม่ต้องมีฟิลด์ settings
## Parameters {#parameters}
เครื่องมือนี้ไม่มีพารามิเตอร์ที่กำหนดค่าได้ ทิศทางการแปลงกำหนดจากนามสกุลไฟล์อินพุต
## Example Request {#example-request}
YAML เป็น 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 เป็น 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}
- ทิศทางการแปลงตรวจจับอัตโนมัติจากนามสกุลไฟล์อินพุต: `.yaml` หรือ `.yml` ผลิต `.json` และ `.json` ผลิต `.yaml`
- รับทั้งนามสกุล `.yaml` และ `.yml`
- แปลงเฉพาะเอกสารแรกในไฟล์ YAML แบบหลายเอกสารเท่านั้น เอกสารเพิ่มเติมที่คั่นด้วย `---` จะถูกละเว้น