mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
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.
1.9 KiB
1.9 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| 從 PDF 擷取頁面或將其分割成多個部分。 | 5c8d8041d219 | human | b4cf4866e8aa |
分割 PDF
將一段頁面範圍擷取成新的 PDF,或將文件分割成每 N 頁一份的區塊。
API 端點
POST /api/v1/tools/pdf/split-pdf
接受包含 PDF 檔案與 JSON settings 欄位的 multipart 表單資料。
參數
| 參數 | 類型 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| mode | string | 否 | "range" |
分割模式:range 或 every |
| range | string | 當 mode 為 range 時 |
- | 以 qpdf 語法表示的頁面範圍,例如 "1-5,8,10-z" |
| everyN | integer | 當 mode 為 every 時 |
- | 分割成每 N 頁一份的區塊(1-500) |
範例請求
擷取特定頁面:
curl -X POST http://localhost:1349/api/v1/tools/pdf/split-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"mode": "range", "range": "1-5,8"}'
分割成每 10 頁一份的區塊:
curl -X POST http://localhost:1349/api/v1/tools/pdf/split-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"mode": "every", "everyN": 10}'
範例回應
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 980000
}
注意事項
- 在
range模式下,會回傳一份包含選定頁面的單一 PDF。 - 在
every模式下,結果會是一個包含各個部分的 ZIP 封存檔。 - 頁面範圍使用 qpdf 語法:
1-5代表第 1 到第 5 頁,z代表最後一頁,並可用逗號組合多個範圍(例如1-3,7,10-z)。