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,48 @@
|
||||
---
|
||||
description: "冊子に折るためにPDFのページを面付けします。"
|
||||
i18n_source_hash: 8844b6d4fe96
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 462700920ef6
|
||||
---
|
||||
|
||||
# Booklet PDF {#booklet-pdf}
|
||||
|
||||
両面印刷用にページを面付けし、印刷したシートを折って冊子にできるようにします。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/booklet-pdf`
|
||||
|
||||
PDFファイルとJSON形式の`settings`フィールドを含むmultipartフォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| perSheet | integer | No | `2` | 1シートあたりのページ数: `2`, `4`, `6`, または`8` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/booklet-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"perSheet": 2}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 2400000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- デフォルトの`perSheet: 2`は各シートに2ページを横並びで配置します。これは両面印刷における標準的な冊子レイアウトです。
|
||||
- 総ページ数がシートサイズの倍数でない場合、空白ページが自動的に追加されます。
|
||||
- 出力を短辺綴じで両面印刷し、折ってホチキス留めしてください。
|
||||
@@ -0,0 +1,62 @@
|
||||
---
|
||||
description: "埋め込み画像を圧縮して PDF のファイルサイズを縮小します。"
|
||||
i18n_source_hash: a8bb0baaca25
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 8d439dd1e107
|
||||
---
|
||||
|
||||
# Compress PDF {#compress-pdf}
|
||||
|
||||
埋め込み画像をダウンサンプリングして PDF のファイルサイズを削減します。品質スライダーと目標ファイルサイズのどちらかを選択できます。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/compress-pdf`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | No | `"quality"` | 圧縮モード: `quality` または `targetSize` |
|
||||
| quality | integer | No | `75` | 圧縮品質、1〜100(高いほど圧縮が弱い)。`quality` モードで使用 |
|
||||
| targetSizeKb | number | No | - | 目標ファイルサイズ(キロバイト単位)。`targetSize` モードで使用 |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
品質で圧縮する場合:
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/compress-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"mode": "quality", "quality": 60}'
|
||||
```
|
||||
|
||||
目標サイズまで圧縮する場合:
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/compress-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"mode": "targetSize", "targetSizeKb": 500}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 5200000,
|
||||
"processedSize": 1800000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- `quality` モードでは、値を小さくするほどファイルは小さくなりますが、画像の劣化が大きくなります。
|
||||
- `targetSize` モードでは、二分探索によって要求サイズに収まる最高の DPI を見つけます。
|
||||
- 圧縮によってファイルが大きくなる場合は、元のバイト列がそのまま返されます。
|
||||
- テキストやベクターコンテンツは影響を受けません。埋め込みラスター画像のみがダウンサンプリングされます。
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "PDF の全ページを均一なマージンで切り抜きます。"
|
||||
i18n_source_hash: ffa1a2cee08d
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 505c3f006e9a
|
||||
---
|
||||
|
||||
# Crop PDF {#crop-pdf}
|
||||
|
||||
均一なマージンを適用して PDF の全ページを切り抜き、各辺から均等にコンテンツをトリミングします。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/crop-pdf`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| margin | number | No | `20` | 均一な切り抜きマージン(ポイント単位、0〜2000) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/crop-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"margin": 50}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 2440000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- マージン値は PDF ポイント単位です(1 ポイント = 1/72 インチ)。
|
||||
- 同じマージンがすべてのページの 4 辺すべてに適用されます。
|
||||
- マージンが `0` の場合、既存の切り抜きマージンをすべて削除し、メディアボックス全体を表示します。
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
description: "PDF から選択したページを取り出して新しいドキュメントを作成します。"
|
||||
i18n_source_hash: e4a8fad31e0f
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: f59fc16a4b29
|
||||
---
|
||||
|
||||
# Extract Pages {#extract-pages}
|
||||
|
||||
PDF から選択したページを取り出して、より小さな新しいドキュメントを作成します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/extract-pages`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| range | string | Yes | - | qpdf 構文のページ範囲。例: `"1-5,8,10-z"` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/extract-pages \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"range": "1-5,8,10-z"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 3200000,
|
||||
"processedSize": 1100000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- ページ範囲には qpdf 構文を使用します: 1〜5 ページには `1-5`、最終ページには `z`、複数の範囲をまとめるにはカンマを使います(例: `1-3,7,10-z`)。
|
||||
- 取り出したページは元の書式、注釈、リンクを保持します。
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: "フォームと注釈をページコンテンツに焼き込みます。"
|
||||
i18n_source_hash: b25c2a2b6f40
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 3553408332ad
|
||||
---
|
||||
|
||||
# Flatten PDF {#flatten-pdf}
|
||||
|
||||
インタラクティブなフォームフィールドと注釈をページコンテンツに焼き込み、どこでも同じ見た目になる静的な PDF を生成します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/flatten-pdf`
|
||||
|
||||
PDF ファイルを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールに設定可能なパラメータはありません。PDF をアップロードすると、すべてのフォームと注釈が焼き込まれます。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/flatten-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@form.pdf"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/form.pdf",
|
||||
"originalSize": 185000,
|
||||
"processedSize": 172000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 受け付ける入力形式: `.pdf`。
|
||||
- これは結果を直接返す高速(同期)ツールです。
|
||||
- フォームフィールドの値は出力内で静的なテキストとして保持されます。
|
||||
- 注釈(コメント、ハイライト、付箋)はページコンテンツの一部となり、以降は編集できなくなります。
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
description: "PDF 内のすべての色をグレースケールに変換します。"
|
||||
i18n_source_hash: f327addb32d6
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 0466287cba05
|
||||
---
|
||||
|
||||
# Grayscale PDF {#grayscale-pdf}
|
||||
|
||||
PDF 内のすべての色をグレースケールに変換し、ドキュメントの白黒バージョンを生成します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/grayscale-pdf`
|
||||
|
||||
PDF ファイルを含む multipart フォームデータを受け付けます。`settings` フィールドは不要です。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールに設定パラメータはありません。PDF ファイルをそのままアップロードしてください。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/grayscale-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 3200000,
|
||||
"processedSize": 2800000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- すべての色空間(RGB、CMYK)が、埋め込み画像、ベクターグラフィック、テキストを含めてグレースケールに変換されます。
|
||||
- グレースケールデータは 1 ピクセルあたりのバイト数が少なくて済むため、出力ファイルは元よりも小さくなることが多いです。
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
description: "高速な Web 表示(プログレッシブダウンロード)のために PDF をリニアライズします。"
|
||||
i18n_source_hash: 36280b478161
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 8bffef670f80
|
||||
---
|
||||
|
||||
# Web-Optimize PDF {#web-optimize-pdf}
|
||||
|
||||
PDF をリニアライズし、ファイル全体を待たずに Web ブラウザでプログレッシブにダウンロード・表示できるようにします。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/linearize-pdf`
|
||||
|
||||
PDF ファイルを含む multipart フォームデータを受け付けます。`settings` フィールドは不要です。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールに設定パラメータはありません。PDF ファイルをそのままアップロードしてください。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/linearize-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 2460000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- リニアライズは PDF の内部構造を再配置し、ファイル全体のダウンロードが完了する前に最初のページをレンダリングできるようにします。
|
||||
- リニアライズ用データが追加されるため、出力ファイルは入力よりわずかに大きくなる場合があります。
|
||||
- すでにリニアライズ済みの PDF も問題なく再リニアライズされます。
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
description: "複数の PDF を 1 つのドキュメントに結合します。"
|
||||
i18n_source_hash: e82e389cb8b6
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: de798f2aafbe
|
||||
---
|
||||
|
||||
# Merge PDFs {#merge-pdfs}
|
||||
|
||||
2 つ以上の PDF ファイルを 1 つのドキュメントに結合し、各入力ファイルのページ順を保持します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/merge-pdf`
|
||||
|
||||
2 つ以上の PDF ファイルを含む multipart フォームデータを受け付けます。`settings` フィールドは不要です。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールに設定パラメータはありません。2 つ以上の PDF ファイルをアップロードするだけです。
|
||||
|
||||
| Constraint | Value |
|
||||
|------------|-------|
|
||||
| 最小ファイル数 | 2 |
|
||||
| 最大ファイル数 | 20 |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/merge-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document1.pdf" \
|
||||
-F "file=@document2.pdf" \
|
||||
-F "file=@document3.pdf"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/merged.pdf",
|
||||
"originalSize": 4500000,
|
||||
"processedSize": 4200000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- ファイルはアップロードされた順に結合されます。
|
||||
- PDF ファイルは最低 2 つ必要です。それより少ない場合、リクエストは 400 エラーで失敗します。
|
||||
- 入力ファイルの最大数は 20 です。
|
||||
- 暗号化された PDF は結合前にロックを解除する必要があります。
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "1 枚のシートに複数の PDF ページを配置します(2-up、4-up など)。"
|
||||
i18n_source_hash: 9dd82737cb72
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: ae5be144f5e9
|
||||
---
|
||||
|
||||
# N-up PDF {#n-up-pdf}
|
||||
|
||||
2-up や 4-up レイアウトのように 1 枚のシートに複数ページを配置し、印刷時の用紙を節約します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/nup-pdf`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| perSheet | integer | No | `2` | 1 シートあたりのページ数: `2`、`3`、`4`、`8`、`9`、`12`、または `16` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/nup-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"perSheet": 4}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 2300000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- ページは読み順(左から右、上から下)に配置されます。
|
||||
- 出力ページのサイズは元と同じです。各ページはグリッドに収まるよう縮小されます。
|
||||
- 20 ページのドキュメントに `perSheet: 4` を適用すると、5 ページの出力になります。
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
description: "AI 搭載の OCR を使って PDF ドキュメントからテキストを抽出します。"
|
||||
i18n_source_hash: 1431fcba180b
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: d39e66166498
|
||||
---
|
||||
|
||||
# PDF OCR {#pdf-ocr}
|
||||
|
||||
AI 搭載の光学文字認識を使って PDF ドキュメントからテキストを抽出します。複数の品質ティアと言語に対応しています。OCR 機能バンドルのインストールが必要です。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/ocr-pdf`
|
||||
|
||||
PDF ファイルと、任意の JSON `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| quality | string | No | `"balanced"` | OCR 品質ティア: `fast`、`balanced`、`best` |
|
||||
| language | string | No | `"auto"` | ドキュメントの言語: `auto`、`en`、`de`、`fr`、`es`、`zh`、`ja`、`ko` |
|
||||
| pages | string | No | `"all"` | ページ選択。例: `"all"`、`"1-3"`、`"1,3,5"` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/ocr-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@scanned.pdf" \
|
||||
-F 'settings={"quality": "best", "language": "en", "pages": "1-5"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
`202 Accepted` を返します。進捗は `/api/v1/jobs/{jobId}/progress` の SSE で追跡できます。
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 受け付ける入力形式: `.pdf`。
|
||||
- これは **OCR 機能バンドル** のインストールが必要な AI ツールです。バンドルがインストールされていない場合、API は `501 Not Implemented` を返します。
|
||||
- `fast` 品質ティアはより軽量なモデルを使って高速に処理します。`best` は速度を犠牲にしてより高精度なモデルを使用します。
|
||||
- `auto` の言語設定は、ドキュメントの言語を自動的に検出しようとします。
|
||||
- 範囲指定(`"1-3"`)、カンマ区切りのリスト(`"1,3,5"`)、または全ページを対象とする `"all"` を使って特定のページを対象にできます。
|
||||
- すでに選択可能なテキストを含む PDF については、代わりに高速な [PDF to Text](./pdf-to-text) ツールの使用を検討してください。
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "明示的なページ順を指定して PDF のページを並べ替えます。"
|
||||
i18n_source_hash: e961fc895b4b
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 7cbb59efd2d9
|
||||
---
|
||||
|
||||
# Organize PDF {#organize-pdf}
|
||||
|
||||
希望するページ順を指定して PDF のページを並べ替えます。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/organize-pdf`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| order | string | Yes | - | qpdf 構文で指定する希望のページ順。例: `"3,1,2,5-z"` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/organize-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"order": "3,1,2,5-z"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 2450000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- ページ範囲には qpdf 構文を使用します: `3,1,2` は最初の 3 ページを並べ替え、`5-z` は 5 ページ目から最終ページまでを末尾に追加します。
|
||||
- ページを複数回列挙すると複製できます(例: `"1,1,2,3"` は 1 ページ目を複製します)。
|
||||
- order 文字列に列挙されていないページは出力から除外されます。
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
description: "PDF ドキュメントのメタデータを読み書きします。"
|
||||
i18n_source_hash: b2eaebf7467f
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: bf803fc8eb1c
|
||||
---
|
||||
|
||||
# PDF Metadata {#pdf-metadata}
|
||||
|
||||
タイトル、作成者、サブジェクト、キーワードなどの PDF ドキュメントのメタデータフィールドを読み取り・更新します。設定が指定されない場合、既存のメタデータが変更されずに返されます。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdf-metadata`
|
||||
|
||||
PDF ファイルと、任意の JSON `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| title | string | No | - | ドキュメントのタイトル(最大 500 文字) |
|
||||
| author | string | No | - | ドキュメントの作成者(最大 500 文字) |
|
||||
| subject | string | No | - | ドキュメントのサブジェクト(最大 500 文字) |
|
||||
| keywords | string | No | - | ドキュメントのキーワード(最大 500 文字) |
|
||||
|
||||
すべてのパラメータは任意です。省略したフィールドは変更されません。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-metadata \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@report.pdf" \
|
||||
-F 'settings={"title": "Q2 Report", "author": "Finance Team"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/report.pdf",
|
||||
"originalSize": 245000,
|
||||
"processedSize": 245200,
|
||||
"metadata": {
|
||||
"title": "Q2 Report",
|
||||
"author": "Finance Team",
|
||||
"subject": "",
|
||||
"keywords": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 受け付ける入力形式: `.pdf`。
|
||||
- これは結果を直接返す高速(同期)ツールです。
|
||||
- レスポンスの `metadata` フィールドには、更新後の結果メタデータが含まれます。
|
||||
- メタデータを変更せずに読み取るには、`settings` フィールドを省略するか空のオブジェクトを送信してください。
|
||||
- 各メタデータフィールドは 500 文字までに制限されています。
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
description: "PDF のすべてのページにページ番号を追加します。"
|
||||
i18n_source_hash: 58342d6ac8d2
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: cda54868c793
|
||||
---
|
||||
|
||||
# PDF Page Numbers {#pdf-page-numbers}
|
||||
|
||||
PDF のすべてのページに「Page N of M」形式のページ番号を追加します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdf-page-numbers`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| position | string | No | `"bc"` | ページ番号の配置: `bl`、`bc`、`br`、`tl`、`tc`、`tr` |
|
||||
| fontSize | integer | No | `10` | フォントサイズ(ポイント単位、6〜24) |
|
||||
|
||||
### Position Values {#position-values}
|
||||
|
||||
- `tl` 左上、`tc` 中央上、`tr` 右上
|
||||
- `bl` 左下、`bc` 中央下、`br` 右下
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-page-numbers \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"position": "bc", "fontSize": 12}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 2470000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- ページ番号は「Page 1 of 10」の形式でレンダリングされます。
|
||||
- 番号は、既存のタイトルページや表紙を含むすべてのページに追加されます。
|
||||
- デフォルトの位置 `"bc"` は、各ページの中央下に番号を配置します。
|
||||
@@ -0,0 +1,133 @@
|
||||
---
|
||||
description: "PDF のページを高品質な画像に変換します。"
|
||||
i18n_source_hash: 1c36be5dadb8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 2eedea784657
|
||||
---
|
||||
|
||||
# PDF to Image {#pdf-to-image}
|
||||
|
||||
PDF のページを高品質なラスター画像に変換します。ページ選択、複数の出力形式、DPI 制御、カラーモードに対応しています。変換前に PDF を確認するための info および preview サブルートも含みます。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdf-to-image`
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | No | `"png"` | 出力形式: `png`、`jpg`、`webp`、`avif`、`tiff`、`gif`、`heic`、`heif`、`jxl` |
|
||||
| dpi | number | No | 150 | レンダリング解像度(36〜2400)。DPI が高いほど大きく詳細な画像になります。 |
|
||||
| quality | number | No | 85 | 非可逆形式の出力品質(1〜100) |
|
||||
| colorMode | string | No | `"color"` | カラーモード: `color`、`grayscale`、`bw`(白黒しきい値) |
|
||||
| pages | string | No | `"all"` | ページ選択: `all`、単一ページ(`3`)、範囲(`1-5`)、またはカンマ区切り(`1,3,5-8`) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-image \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"format":"png","dpi":300,"pages":"1-3","colorMode":"color"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"pageCount": 10,
|
||||
"selectedPages": [1, 2, 3],
|
||||
"format": "png",
|
||||
"pages": [
|
||||
{
|
||||
"page": 1,
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/page-1.png",
|
||||
"size": 234567
|
||||
},
|
||||
{
|
||||
"page": 2,
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/page-2.png",
|
||||
"size": 198765
|
||||
},
|
||||
{
|
||||
"page": 3,
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/page-3.png",
|
||||
"size": 210456
|
||||
}
|
||||
],
|
||||
"zipUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/pdf-pages.zip",
|
||||
"zipSize": 612345
|
||||
}
|
||||
```
|
||||
|
||||
## Info Sub-Route {#info-sub-route}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdf-to-image/info`
|
||||
|
||||
ページをレンダリングせずに PDF のページ数を返します。
|
||||
|
||||
### Info Request {#info-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-image/info \
|
||||
-F "file=@document.pdf"
|
||||
```
|
||||
|
||||
### Info Response {#info-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"pageCount": 10
|
||||
}
|
||||
```
|
||||
|
||||
## Preview Sub-Route {#preview-sub-route}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdf-to-image/preview`
|
||||
|
||||
すべてのページの低解像度 JPEG サムネイルを base64 データ URL として返します。ページ選択 UI の構築に便利です。
|
||||
|
||||
### Preview Request {#preview-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-image/preview \
|
||||
-F "file=@document.pdf"
|
||||
```
|
||||
|
||||
### Preview Response {#preview-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"pageCount": 10,
|
||||
"thumbnails": [
|
||||
{
|
||||
"page": 1,
|
||||
"dataUrl": "data:image/jpeg;base64,/9j/4AAQ...",
|
||||
"width": 300,
|
||||
"height": 424
|
||||
},
|
||||
{
|
||||
"page": 2,
|
||||
"dataUrl": "data:image/jpeg;base64,/9j/4AAQ...",
|
||||
"width": 300,
|
||||
"height": 424
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- PDF レンダリングには MuPDF を使用し、正しいフォントレンダリングとベクターグラフィックを備えた高精度な出力を提供します。
|
||||
- パスワード保護された PDF はサポートされておらず、400 エラーを返します。
|
||||
- `pages` パラメータは柔軟な構文をサポートします:
|
||||
- `"all"` または `""` - 全ページ
|
||||
- `"3"` - 単一ページ
|
||||
- `"1-5"` - ページ範囲(両端含む)
|
||||
- `"1,3,5-8"` - 個別ページと範囲の混在
|
||||
- ページ番号は 1 始まりです。ドキュメントの長さを超えるページを指定すると 400 エラーを返します。
|
||||
- メインエンドポイントは常に、個別ページのダウンロードと、選択したすべてのページを含む ZIP の両方を生成します。
|
||||
- preview エンドポイントは 72 DPI でレンダリングし、高速なサムネイル生成のため幅 300px にスケールします。サムネイルは品質 60% の JPEG です。
|
||||
- preview エンドポイントは `MAX_PDF_PAGES` サーバー設定を尊重し、生成されるサムネイル数を制限します。
|
||||
- 大きなドキュメントを高 DPI で処理すると、処理時間は比例して増加します。Web 用途では低い DPI(150)、印刷用途ではより高い DPI(300〜600)の使用を検討してください。
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
description: "PDF からプレーンテキストを抽出します。"
|
||||
i18n_source_hash: 15a7bc1cdf8f
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 2609ae7e9372
|
||||
---
|
||||
|
||||
# PDF to Text {#pdf-to-text}
|
||||
|
||||
PDF ドキュメントから読み取り可能なプレーンテキストをすべて抽出してテキストファイルにします。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdf-to-text`
|
||||
|
||||
PDF ファイルを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールに設定可能なパラメータはありません。PDF をアップロードすると、そのテキストコンテンツが抽出されます。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-text \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@report.pdf"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/report.txt",
|
||||
"originalSize": 520000,
|
||||
"processedSize": 14300,
|
||||
"chars": 14300
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 受け付ける入力形式: `.pdf`。
|
||||
- これは結果を直接返す高速(同期)ツールです。
|
||||
- レスポンスの `chars` フィールドは、抽出された文字数を示します。
|
||||
- 抽出されるのはデジタルに埋め込まれたテキストのみです。スキャンされたドキュメントや画像ベースの PDF には、代わりに [PDF OCR](./ocr-pdf) ツールを使用してください。
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: "PDF を Word ドキュメント(DOCX)に変換します。"
|
||||
i18n_source_hash: be41b6b49f84
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: ae6b0ba83e16
|
||||
---
|
||||
|
||||
# PDF to Word {#pdf-to-word}
|
||||
|
||||
テキストベースの PDF を Word ドキュメント(DOCX)に変換します。選択可能なテキストを含む PDF に最適です。スキャンされたページには先に OCR が必要です。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdf-to-word`
|
||||
|
||||
PDF ファイルを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールに設定可能なパラメータはありません。PDF をアップロードすると DOCX に変換されます。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-word \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@report.pdf"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
`202 Accepted` を返します。進捗は `/api/v1/jobs/{jobId}/progress` の SSE で追跡できます。
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 受け付ける入力形式: `.pdf`。
|
||||
- テキストベースの PDF に最も適しています。スキャンされたページや画像のみのページでは、出力が空または最小限になります。まず [PDF OCR](./ocr-pdf) を使ってテキストレイヤーを追加してください。
|
||||
- 変換はサーバー上でヘッドレス実行される LibreOffice で処理されます。
|
||||
- 複雑なレイアウト(複数段組み、要素の重なり)は完全には変換されない場合があります。
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
description: "長期保存のために PDF をアーカイブ用 PDF/A-2 形式に変換します。"
|
||||
i18n_source_hash: 4c6bf7a12e84
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 706a11edc6f1
|
||||
---
|
||||
|
||||
# PDF/A Convert {#pdf-a-convert}
|
||||
|
||||
PDF を PDF/A-2 アーカイブ形式に変換します。長期保存や規制対応に適しています。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdfa-convert`
|
||||
|
||||
PDF ファイルを含む multipart フォームデータを受け付けます。`settings` フィールドは不要です。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールに設定パラメータはありません。PDF ファイルをそのままアップロードしてください。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdfa-convert \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 2600000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 出力は PDF/A-2 標準に準拠します。
|
||||
- PDF/A はすべてのフォントを埋め込み、外部参照を禁止するため、出力ファイルは元より大きくなる場合があります。
|
||||
- 暗号化と JavaScript は PDF/A 標準で許可されていないため、変換時に取り除かれます。
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "AES-256 暗号化によるパスワード保護を PDF に追加します。"
|
||||
i18n_source_hash: 869cfbc739ef
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: a8f0cb674661
|
||||
---
|
||||
|
||||
# Protect PDF {#protect-pdf}
|
||||
|
||||
AES-256 暗号化を使って PDF にパスワード保護を追加します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/protect-pdf`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| userPassword | string | Yes | - | PDF を開くのに必要なパスワード(1〜256 文字) |
|
||||
| ownerPassword | string | No | `userPassword` と同じ | 権限用のオーナーパスワード(1〜256 文字) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/protect-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"userPassword": "s3cret", "ownerPassword": "0wn3r"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 2500000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 暗号化には AES-256 を使用します。
|
||||
- `ownerPassword` を省略した場合、`userPassword` と同じ値がデフォルトになります。
|
||||
- パスワードは監査ログから伏せられます。
|
||||
- 暗号化された PDF は、開くのにユーザーパスワードが、(異なる場合は)完全な権限にオーナーパスワードが必要です。
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
description: "PDF から特定のテキストを完全に削除します(検証済みの真の墨消し)。"
|
||||
i18n_source_hash: 296ad2a701b2
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: de420eb1a9da
|
||||
---
|
||||
|
||||
# Redact PDF {#redact-pdf}
|
||||
|
||||
検証済みの真の墨消しを使って、指定したテキストの出現箇所を PDF から完全に削除します。墨消しされたテキストは黒い四角で覆われるだけでなく、ファイルから完全に削除されます。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/redact-pdf`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| terms | string[] | Yes | - | 墨消しするテキスト文字列(1〜50 個、各最大 200 文字) |
|
||||
| caseSensitive | boolean | No | `false` | マッチングで大文字・小文字を区別するかどうか |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/redact-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@contract.pdf" \
|
||||
-F 'settings={"terms": ["John Doe", "555-0123"], "caseSensitive": false}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/contract.pdf",
|
||||
"originalSize": 245000,
|
||||
"processedSize": 243000,
|
||||
"found": 7
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 受け付ける入力形式: `.pdf`。
|
||||
- これは結果を直接返す高速(同期)ツールです。
|
||||
- これは真の墨消しを実行します。マッチしたテキストは視覚的に隠されるだけでなく、PDF コンテンツストリームから削除されます。
|
||||
- レスポンスの `found` フィールドは、墨消しされた出現箇所の数を示します。
|
||||
- 1 回のリクエストで最大 50 個の語句を墨消しできます。
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
description: "PDF から特定のページを削除します。"
|
||||
i18n_source_hash: 003e460a047c
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 4ac0e482ec3d
|
||||
---
|
||||
|
||||
# Remove Pages {#remove-pages}
|
||||
|
||||
残りのページをすべてそのままに保ちながら、PDF から特定のページを削除します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/remove-pages`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| pages | string | Yes | - | qpdf 構文で削除するページ範囲。例: `"3,5-7"` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/remove-pages \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"pages": "3,5-7"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 1800000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- ドキュメントからすべてのページを削除することはできません。少なくとも 1 ページは残る必要があります。
|
||||
- ページ範囲には qpdf 構文を使用します: 単一ページには `3`、範囲には `5-7`、まとめるにはカンマを使います(例: `1,3,5-7`)。
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
description: "破損した PDF の修復を試みます。"
|
||||
i18n_source_hash: 864073a2f09f
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 53e16551ecdb
|
||||
---
|
||||
|
||||
# Repair PDF {#repair-pdf}
|
||||
|
||||
内部構造を再構築することで、破損した PDF の修復を試みます。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/repair-pdf`
|
||||
|
||||
PDF ファイルを含む multipart フォームデータを受け付けます。`settings` フィールドは不要です。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
このツールに設定パラメータはありません。破損した PDF ファイルをそのままアップロードしてください。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/repair-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@damaged.pdf"
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/damaged.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 2400000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 不正な形式のファイルを通すため、入力時の構造検証はスキップされます。
|
||||
- 修復はベストエフォートです。深刻に破損したファイルは完全には復元できない場合があります。
|
||||
- 相互参照テーブルが再構築されるため、修復後の PDF はサイズが元とわずかに異なる場合があります。
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "PDF のページを 90、180、または 270 度回転します。"
|
||||
i18n_source_hash: cc2acd091427
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 03dac73d3c8a
|
||||
---
|
||||
|
||||
# Rotate PDF {#rotate-pdf}
|
||||
|
||||
指定した角度で PDF の全ページまたは選択したページを回転します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/rotate-pdf`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| angle | integer | No | `90` | 回転角度: `90`、`180`、または `270` |
|
||||
| range | string | No | `"1-z"` | qpdf 構文のページ範囲。例: `"1-5,8"`(`"1-z"` = 全ページ) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/rotate-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"angle": 90, "range": "1-3"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 2450000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 回転は時計回りです。
|
||||
- ページ範囲には qpdf 構文を使用します: 1〜5 ページには `1-5`、最終ページには `z`、複数の範囲をまとめるにはカンマを使います。
|
||||
- デフォルトの範囲 `"1-z"` は全ページを回転します。
|
||||
@@ -0,0 +1,79 @@
|
||||
---
|
||||
description: "正規化されたページ配置を使って、アップロードした署名画像を PDF にスタンプします。"
|
||||
i18n_source_hash: c28f78c2e7fd
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 8d6a9400d5ed
|
||||
---
|
||||
|
||||
# Sign PDF {#sign-pdf}
|
||||
|
||||
アップロードした 1 つ以上の署名 PNG 画像を、PDF の任意のページにスタンプします。このルートは、PDF、1 つ以上の署名画像、配置座標を必要とするため、カスタム multipart コントラクトを使用します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/sign-pdf`
|
||||
|
||||
multipart フォームデータを受け付けます。PDF は `file` として送信し、署名は `sig0`、`sig1` のように送信し、配置は `placements` JSON フィールドで送信します。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| file | file | Yes | - | 署名する PDF ファイル |
|
||||
| sig0 | file | Yes | - | 最初の署名画像。追加の画像は `sig1`、`sig2` のように使用します |
|
||||
| placements | JSON string | Yes | - | 配置オブジェクトの配列: `{ "sig": 0, "page": 0, "x": 0.2, "y": 0.7, "w": 0.25, "h": 0.08 }` |
|
||||
| clientJobId | string | No | - | SSE による進捗追跡用の任意の UUID |
|
||||
| fileId | string | No | - | 署名済みの結果を新しいバージョンとして保存する任意のファイルライブラリ ID |
|
||||
|
||||
## Placement Coordinates {#placement-coordinates}
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| sig | integer | 署名画像のインデックス。`0` は `sig0` に対応します |
|
||||
| page | integer | 0 始まりの PDF ページインデックス |
|
||||
| x | number | ページに対する割合での左位置 |
|
||||
| y | number | ページに対する割合での上位置 |
|
||||
| w | number | ページに対する割合での署名の幅 |
|
||||
| h | number | ページに対する割合での署名の高さ |
|
||||
|
||||
座標は左上を原点とします。値はページの端をわずかにはみ出しても構いません。PDF レンダラーが最終的なスタンプをページにクリップします。
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/sign-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@contract.pdf" \
|
||||
-F "sig0=@signature.png" \
|
||||
-F 'placements=[{"sig":0,"page":0,"x":0.64,"y":0.82,"w":0.22,"h":0.08}]'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/contract_signed.pdf",
|
||||
"previewUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/preview.png",
|
||||
"originalSize": 245000,
|
||||
"processedSize": 249000
|
||||
}
|
||||
```
|
||||
|
||||
同期待機ウィンドウ内にリクエストが完了できない場合、API は次を返します:
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
`/api/v1/jobs/<jobId>/progress` に接続し、ジョブが完了したら結果をダウンロードしてください。
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 受け付ける PDF 入力形式: `.pdf`。
|
||||
- 署名画像は有効な画像ファイルである必要があり、通常は透過付きの PNG です。
|
||||
- 最大 100 個の署名画像と 100 個の配置を受け付けます。
|
||||
- `sign-pdf` はカスタムルートであり、標準ツールの `settings` JSON フィールドを使用しません。
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
description: "ページを抽出するか、PDF を分割します。"
|
||||
i18n_source_hash: 5c8d8041d219
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 5a3a351a4e10
|
||||
---
|
||||
|
||||
# Split PDF {#split-pdf}
|
||||
|
||||
ページ範囲を抽出して新しい PDF にするか、ドキュメントを N ページごとのチャンクに分割します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/split-pdf`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | No | `"range"` | 分割モード: `range` または `every` |
|
||||
| range | string | mode が `range` の場合 | - | qpdf 構文のページ範囲。例: `"1-5,8,10-z"` |
|
||||
| everyN | integer | mode が `every` の場合 | - | N ページごとのチャンクに分割(1〜500) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
特定のページを抽出する場合:
|
||||
|
||||
```bash
|
||||
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 ページごとのチャンクに分割する場合:
|
||||
|
||||
```bash
|
||||
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}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 980000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- `range` モードでは、選択したページを含む単一の PDF が返されます。
|
||||
- `every` モードでは、個々のパートを含む ZIP アーカイブが結果として返されます。
|
||||
- ページ範囲には qpdf 構文を使用します: 1〜5 ページには `1-5`、最終ページには `z`、複数の範囲をまとめるにはカンマを使います(例: `1-3,7,10-z`)。
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "PDF からパスワード保護を解除します。"
|
||||
i18n_source_hash: 14f5165d185c
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 2432be5c41e9
|
||||
---
|
||||
|
||||
# Unlock PDF {#unlock-pdf}
|
||||
|
||||
正しいパスワードを指定することで、暗号化された PDF からパスワード保護を解除します。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/unlock-pdf`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| password | string | Yes | - | PDF を復号するためのパスワード(1〜256 文字) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/unlock-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"password": "s3cret"}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2500000,
|
||||
"processedSize": 2450000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 正しいパスワードを指定する必要があります。誤ったパスワードは 400 エラーを返します。
|
||||
- 復号にはユーザーパスワードとオーナーパスワードのどちらでも機能します。
|
||||
- パスワードは監査ログから伏せられます。
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
description: "PDF のすべてのページにテキスト透かしを追加します。"
|
||||
i18n_source_hash: f1f7d8912fbd
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 66d33a80de5a
|
||||
---
|
||||
|
||||
# Watermark PDF {#watermark-pdf}
|
||||
|
||||
位置、サイズ、不透明度、回転を設定できるテキスト透かしを PDF のすべてのページにスタンプします。
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/watermark-pdf`
|
||||
|
||||
PDF ファイルと JSON の `settings` フィールドを含む multipart フォームデータを受け付けます。
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| text | string | Yes | - | 透かしのテキスト(1〜200 文字) |
|
||||
| position | string | No | `"c"` | ページ上の配置: `tl`、`tc`、`tr`、`l`、`c`、`r`、`bl`、`bc`、`br` |
|
||||
| fontSize | integer | No | `48` | フォントサイズ(ポイント単位、6〜72) |
|
||||
| opacity | number | No | `0.3` | 透かしの不透明度(0.05〜1) |
|
||||
| rotation | number | No | `45` | 回転角度(度単位、-180〜180) |
|
||||
|
||||
### Position Values {#position-values}
|
||||
|
||||
- `tl` 左上、`tc` 中央上、`tr` 右上
|
||||
- `l` 左中央、`c` 中央、`r` 右中央
|
||||
- `bl` 左下、`bc` 中央下、`br` 右下
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:1349/api/v1/tools/pdf/watermark-pdf \
|
||||
-H "Authorization: Bearer si_your-api-key" \
|
||||
-F "file=@document.pdf" \
|
||||
-F 'settings={"text": "CONFIDENTIAL", "position": "c", "opacity": 0.2, "rotation": 45}'
|
||||
```
|
||||
|
||||
## Example Response {#example-response}
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
|
||||
"originalSize": 2450000,
|
||||
"processedSize": 2500000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- 透かしは各ページ上のテキストオーバーレイとしてレンダリングされます。
|
||||
- 同じ透かしテキスト、位置、スタイルがすべてのページに一様に適用されます。
|
||||
- コンテンツを隠さない控えめな透かしには、低い不透明度の値(0.1〜0.3)を使用してください。
|
||||
Reference in New Issue
Block a user