Konvertera snabbt olika filformat till PDF-dokument av hög kvalitet för enkel delning och arkivering.
---
name: convert-to-pdf
description: "Quickly convert various file formats into high-quality PDF documents for easy sharing and archiving. Use this skill when the user asks to convert to pdf via the Cross Service Solutions API."
---
# Convert to PDF
## Solution Description
Quickly convert various file formats into high-quality PDF documents for easy sharing and archiving.
This widget is provided by PDF24. Get your own widget to enable your visitors to convert files to PDF on your website.
## Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| `files` | multiple_files | Yes | You can convert multiple files and different types into multiple PDF's. Multiple files can be downloaded as zip-file |
**Constraints:**
- `files` accepts multiple values — repeat the form field once per item
## 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/64' \
-F 'files=@/path/to/file1.pdf' \
-F 'files=@/path/to/file2.pdf'
```
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": 101370,
"name": "Free - Convert to PDF",
"status": "done",
"steps": [
{ "name": "Convert to PDF", "status": "done" }
],
"output": {
"result": "",
"data": null,
"files": [
{ "name": "converted.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): `files` |
| 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 |
Ladda ner den färdighet du vill använda och ladda sedan upp den till din arbetsyta. Efter uppladdning kan agenten referera till och tillämpa färdigheten under uppgifter.
Vissa färdigheter behöver nätverksåtkomst för att fungera korrekt. Innan du kör dem, vitlista följande domäner:
api.cross-service-solutions.com
— används för API-anrop till vår tjänst
api.process-machine.com
— används för att hämta resultat från färdighetsjobb
storage.googleapis.com
— används för att ladda ner stödfiler och resurser
Utan dessa domäner aktiverade kan färdigheter som är beroende av externa anrop misslyckas eller returnera ofullständiga resultat.
Ditt bidrag gör den här katalogen bättre för alla. Dela vad du vet — det tar mindre än en minut.
Känner du till ett verktyg eller arbetsflöde som löser ett verkligt problem? Hjälp andra att upptäcka det — vårt team granskar varje inlämning.
Något trasigt, saknat eller bara värt att förbättra? Vi läser varje meddelande och agerar på de bästa idéerna.