Эта страница переведена машинным способом. Заметили ошибку?Помогите её улучшить.
Skip to content

Sign PDF

Наложите одно или несколько загруженных изображений подписи PNG на любую страницу PDF. Этот маршрут использует пользовательский multipart-контракт, поскольку ему нужны PDF, одно или несколько изображений подписи и координаты размещения.

API Endpoint

POST /api/v1/tools/pdf/sign-pdf

Принимает данные multipart form. PDF отправляется как file; подписи отправляются как sig0, sig1 и так далее; размещения отправляются в JSON-поле placements.

Parameters

ПараметрТипОбязательныйПо умолчаниюОписание
filefileДа-PDF-файл для подписи
sig0fileДа-Первое изображение подписи. Дополнительные изображения используют sig1, sig2 и так далее
placementsJSON stringДа-Массив объектов размещения: { "sig": 0, "page": 0, "x": 0.2, "y": 0.7, "w": 0.25, "h": 0.08 }
clientJobIdstringНет-Необязательный UUID для отслеживания прогресса через SSE
fileIdstringНет-Необязательный ID библиотеки файлов для сохранения подписанного результата как новой версии

Placement Coordinates

ПолеТипОписание
sigintegerИндекс изображения подписи. 0 сопоставляется с sig0
pageintegerИндекс страницы PDF, начиная с нуля
xnumberПозиция слева как доля страницы
ynumberПозиция сверху как доля страницы
wnumberШирина подписи как доля страницы
hnumberВысота подписи как доля страницы

Координаты используют начало отсчёта в верхнем левом углу. Значения могут немного выходить за край страницы; рендерер PDF обрезает итоговый оттиск по странице.

Example Request

bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/sign-pdf \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@contract.pdf" \
  -F "sig0=@signature.png" \
  -F 'placements=[{"sig":0,"page":0,"x":0.64,"y":0.82,"w":0.22,"h":0.08}]'

Example Response

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/contract_signed.pdf",
  "previewUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/preview.png",
  "originalSize": 245000,
  "processedSize": 249000
}

Если запрос не может завершиться в пределах окна синхронного ожидания, API возвращает:

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

Подключитесь к /api/v1/jobs/<jobId>/progress и загрузите результат по завершении задания.

Notes

  • Принимаемый входной формат PDF: .pdf.
  • Изображения подписи должны быть корректными файлами изображений, обычно PNG с прозрачностью.
  • Принимается до 100 изображений подписи и 100 размещений.
  • sign-pdf является пользовательским маршрутом и не использует стандартное JSON-поле settings инструмента.