PDFを圧縮

PDF圧縮は、視覚的な品質をできるだけ保ちながらPDF文書のファイルサイズを縮小します。ユーザーは圧縮レベルを調整して、ファイルサイズと文書の見やすさの適切なバランスを見つけることができます。

compress-pdf.md
ダウンロード
---
name: compress-pdf
description: "Compress PDF reduces the file size of PDF documents while preserving as much visual quality as possible. Users can adjust the compression level to find the right balance between file size and document clarity. Use this skill when the user asks to compress pdf via the Cross Service Solutions API."
---

# Compress PDF

## Solution Description

Compress PDF reduces the file size of PDF documents while preserving as much visual quality as possible. Users can adjust the compression level to find the right balance between file size and document clarity.

*This widget is provided by PDF24. Get your own widget to enable your visitors to convert to PDF

## Input

| Parameter | Type | Required | Description |
|---|---|---|---|
| `file` | file | Yes | PDF Document |
| `imageQuality` | number | Yes | Values in % from 0 to 100. Smaller value reduces size of PDF File but also the quality. |
| `dpi` | number | Yes | Dots per inch from 72 to 300. Smaller value reduces size of PDF File but also quality. |

## Expected Outcome

Executing this solution creates an asynchronous job. Poll the "Get Result" endpoint
until `status` is no longer `pending` — a `done` status means `output` will contain
the result (`output.result`, `output.data`, and/or `output.files[]` depending on the
solution), while a `failed` status means the job could not be completed.

## Execute Solution

This is a free endpoint — no `Authorization` header is required.

```bash
curl -D - -X POST 'https://api.cross-service-solutions.com/solutions/solutions/free/62' \
  -F 'file=@/path/to/file.pdf' \
  -F 'imageQuality=<number>' \
  -F 'dpi=<number>'
```

The response sets `Solution_id` and `Solution_uuid` cookies via `Set-Cookie` headers
(visible with `-D -`). Read their values — they're required for the "Get Result"
request below.

## Get Result

```bash
curl --location 'https://api.process-machine.com/solutions/solutions/free/solution/latest' \
  --header 'Cookie: Solution_id=<id>; Solution_uuid=<uuid>'
```

Replace `<id>` and `<uuid>` with the `Solution_id` and `Solution_uuid` values captured
from the "Execute Solution" response headers. This endpoint lives on a different
domain than "Execute Solution", so the cookies must be passed explicitly via the
`Cookie` header — they won't be forwarded automatically across domains by a reused
cookie jar.

**Response example:**

```json
{
    "id": 101362,
    "name": "Free - Compress PDF",
    "status": "done",
    "steps": [
        { "name": "Compress PDF", "status": "done" },
        { "name": "Compress PDF", "status": "done" }
    ],
    "output": {
        "result": "",
        "data": null,
        "files": [
            { "name": "compressed.pdf", "path": "https://storage.googleapis.com/..." }
        ]
    }
}
```

**Polling behavior:**
- Poll every 3 seconds
- Timeout after 60 seconds (20 attempts) — if still `pending`, tell the user the
  job is taking longer than expected and offer to keep waiting or retry
- On `done`: download the file(s) from `output.files[].path` (a signed, time-limited
  URL) — or check `output.result`/`output.data` if `files` is empty
- On `failed`: surface the `error` field (if present) to the user in plain language;
  do not retry automatically more than once

## Error Handling

| Scenario | Response |
|---|---|
| Missing required parameter(s) | Ask the user for the missing field(s): `file`, `imageQuality`, `dpi` |
| Invalid or unreadable file | Tell the user which file couldn't be processed and ask them to check the format or re-upload |
| API returns `failed` status | Report the failure reason if available; offer to retry |
| `403 Forbidden` on Get Result | The `Solution_id`/`Solution_uuid` values are missing, incorrect, or expired — re-run "Execute Solution" and retry with the fresh values |

AIエージェントスキルの使い方

1

スキルをダウンロードしてアップロード

使用したいスキルをダウンロードし、ワークスペースにアップロードしてください。アップロード後、エージェントはタスク実行時にそのスキルを参照・適用できるようになります。

2

必要な外部ドメインを許可

一部のスキルは正しく動作するためにネットワークアクセスが必要です。実行前に、以下のドメインを許可リストに追加してください:

  • api.cross-service-solutions.com — 当サービスへのAPIリクエストに使用されます
  • api.process-machine.com — スキルジョブの結果取得に使用されます
  • storage.googleapis.com — 補助ファイルやアセットのダウンロードに使用されます

これらのドメインを許可していない場合、外部呼び出しに依存するスキルは失敗するか、不完全な結果を返す可能性があります。

コミュニティ

ご協力 ください

あなたのご意見がこのディレクトリをより良くします。知っていることをシェアしてください — 1分もかかりません。

解決策を提案する

実際の問題を解決するツールやワークフローをご存知ですか?他のユーザーが見つけられるよう協力してください — チームがすべての投稿をレビューします。

フィードバックを送る

不具合、不足、または改善すべき点がありましたか?すべてのメッセージを読み、優れたアイデアを反映させます。