Брзо претворите различите формате датотека у квалитетне PDF документе ради лакшег дељења и архивирања.
---
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 |
Преузмите вештину коју желите да користите, а затим је отпремите у свој радни простор. Након отпремања, агент може да се позове на вештину и примени је током задатака.
Неким вештинама је за исправан рад потребан мрежни приступ. Пре него што их покренете, додајте следеће домене на листу дозвољених:
api.cross-service-solutions.com
— користи се за API захтеве ка нашем сервису
api.process-machine.com
— користи се за преузимање резултата задатака вештине
storage.googleapis.com
— користи се за преузимање помоћних датотека и ресурса
Без омогућених ових домена, вештине које зависе од спољних позива могу да не успеју или врате непотпуне резултате.
Ваш допринос чини овај именик бољим за све. Поделите оно што знате — траје мање од минута.
Познајете алат или радни ток који решава прави проблем? Помозите другима да га открију — наш тим прегледа сваки предлог.
Нешто не ради, нешто недостаје или има простора за побољшање? Читамо сваку поруку и спроводимо најбоље идеје.