Chuyển đổi sang PDF

Nhanh chóng chuyển đổi nhiều định dạng tệp khác nhau thành tài liệu PDF chất lượng cao để dễ dàng chia sẻ và lưu trữ.

convert-to-pdf.md
Tải xuống
---
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 |

Cách sử dụng Kỹ năng Tác nhân AI

1

Tải xuống và tải lên kỹ năng

Tải xuống kỹ năng bạn muốn sử dụng, sau đó tải lên không gian làm việc của bạn. Sau khi tải lên, tác nhân có thể tham chiếu và áp dụng kỹ năng đó trong quá trình thực hiện nhiệm vụ.

2

Bật các miền bên ngoài cần thiết

Một số kỹ năng cần quyền truy cập mạng để hoạt động chính xác. Trước khi chạy chúng, hãy đưa các miền sau vào danh sách cho phép:

  • api.cross-service-solutions.com — dùng cho các yêu cầu API đến dịch vụ của chúng tôi
  • api.process-machine.com — dùng để lấy kết quả tác vụ của kỹ năng
  • storage.googleapis.com — dùng để tải xuống các tệp và tài nguyên hỗ trợ

Nếu không bật các miền này, những kỹ năng phụ thuộc vào lệnh gọi bên ngoài có thể thất bại hoặc trả về kết quả không đầy đủ.

Cộng đồng

Giúp chúng tôi Phát triển

Đóng góp của bạn giúp thư mục này tốt hơn cho mọi người. Chia sẻ những gì bạn biết — chỉ mất chưa đến một phút.

Đề xuất giải pháp

Biết một công cụ hoặc quy trình giải quyết vấn đề thực tế? Giúp người khác khám phá nó — đội ngũ của chúng tôi xem xét từng đề xuất.

Gửi phản hồi

Có gì đó bị hỏng, thiếu sót, hoặc cần cải thiện? Chúng tôi đọc mọi tin nhắn và áp dụng những ý tưởng tốt nhất.