mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
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:
@@ -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
|
||||
- รูปแบบผลลัพธ์ต้องแตกต่างจากรูปแบบอินพุต
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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 บนเซิร์ฟเวอร์
|
||||
@@ -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 บนเซิร์ฟเวอร์
|
||||
@@ -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 ในตัวจะปฏิเสธไฟล์เก็บถาวรที่มีอัตราส่วนการบีบอัดหรือจำนวนไฟล์ที่มากเกินไป เพื่อป้องกันการใช้ทรัพยากรจนหมด
|
||||
@@ -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 บนเซิร์ฟเวอร์
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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 เป็นอินพุต
|
||||
- จำนวนแถวหมายถึงแถวข้อมูลเท่านั้น แถวหัวไม่ถูกนับ
|
||||
@@ -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 บนเซิร์ฟเวอร์
|
||||
@@ -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
|
||||
@@ -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)
|
||||
@@ -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 แบบหลายเอกสารเท่านั้น เอกสารเพิ่มเติมที่คั่นด้วย `---` จะถูกละเว้น
|
||||
Reference in New Issue
Block a user