Редактор PDF
Добавляет на страницы текст, подпись, картинку, закрашивание (текст под ним удаляется из файла), пометки и фигуры, заменяет строки текста. Объекты впечатываются в страницы.
- Запрос
POST /v1/pdf/edit- Инструмент MCP
edit_pdf- Вход
- PDF; картинки и подпись картинкой — PNG, JPG, WEBP, HEIC через POST /v1/upload
- Результат
- Единица цены
- 10 МБ — как считается
Параметры
Тело запроса — JSON. Лишние поля API игнорирует.
| Параметр | Тип | Описание |
|---|---|---|
file_idобязательный | string | file_id загруженного файла (POST /v1/upload); действует час. |
objectsобязательный | object[] | Объекты по порядку, последний — сверху; до 500, картинок — до 20. Координаты — доли видимой страницы от 0 до 1 от левого верхнего угла (чуть за край можно), размеры — в пунктах. У каждого page (с 1) и type: text — box, text (переносится по ширине box) или lines (готовые строки), size (12), font (sans, serif, mono), bold, italic, color (#RRGGBB); signature — box и lines (до 3 строк рукописным шрифтом) или file_id картинки, size, color; image — box, file_id; whiteout (закрасить), highlight, rect, ellipse, check, cross — box, color, width, fill; line, arrow, ink — points [[x, y], …], color, width; replace_text — box и baseline исходной строки, x — начало новой, text (пустой — удалить строку), font, size, color. Подпись через API не входит в лимит подписей сайта. |
webhook_url | string | https-адрес: по завершении SmartPDF отправит на него POST с результатом и подписью — вместо опроса статуса (раздел «Вебхуки»). |
Запрос
Это шаг 2 полного цикла: файл уже загружен, а статус и скачивание — как в быстром старте. Функция call и переменные — оттуда же.
BODY=$(jq -n --arg file_id "$FILE_ID" '{file_id: $file_id, objects: [{ type: "text", page: 1, box: [0.1, 0.03, 0.9, 0.08], text: "Согласовано", size: 14 }]}')
curl -sS --fail-with-body -H "X-API-Key: $SMARTPDF_API_KEY" -H "Content-Type: application/json" \
-d "$BODY" https://api.smartpdf.ru/v1/pdf/editОтвет
202 Accepted — операция оплачена и поставлена в очередь. Дальше — опрос GET /v1/tasks/{task_id} или вебхук.
{
"task_id": "3f2c5b0e-8a41-4d7e-9c1f-5d0b8f2e7a64"
}