This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Sign PDF

Nanieś jeden lub więcej przesłanych obrazów podpisów PNG na dowolną stronę pliku PDF. Ta trasa używa niestandardowego kontraktu multipart, ponieważ potrzebuje pliku PDF, jednego lub więcej obrazów podpisów oraz współrzędnych rozmieszczenia.

API Endpoint

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

Przyjmuje dane formularza multipart. Plik PDF jest wysyłany jako file; podpisy są wysyłane jako sig0, sig1 i tak dalej; rozmieszczenia są wysyłane w polu JSON placements.

Parameters

ParameterTypeRequiredDefaultDescription
filefileYes-Plik PDF do podpisania
sig0fileYes-Pierwszy obraz podpisu. Dodatkowe obrazy używają sig1, sig2 i tak dalej
placementsJSON stringYes-Tablica obiektów rozmieszczenia: { "sig": 0, "page": 0, "x": 0.2, "y": 0.7, "w": 0.25, "h": 0.08 }
clientJobIdstringNo-Opcjonalny UUID do śledzenia postępu przez SSE
fileIdstringNo-Opcjonalny identyfikator biblioteki plików do zapisania podpisanego wyniku jako nowej wersji

Placement Coordinates

FieldTypeDescription
sigintegerIndeks obrazu podpisu. 0 odpowiada sig0
pageintegerIndeks strony PDF liczony od zera
xnumberPozycja lewej krawędzi jako ułamek strony
ynumberPozycja górnej krawędzi jako ułamek strony
wnumberSzerokość podpisu jako ułamek strony
hnumberWysokość podpisu jako ułamek strony

Współrzędne używają początku w lewym górnym rogu. Wartości mogą nieznacznie wykraczać poza krawędź strony; renderer PDF przycina finalny stempel do strony.

Example Request

bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/sign-pdf \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F "[email protected]" \
  -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
}

Jeśli żądanie nie może zakończyć się w oknie oczekiwania synchronicznego, API zwraca:

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

Połącz się z /api/v1/jobs/<jobId>/progress i pobierz wynik, gdy zadanie się zakończy.

Notes

  • Akceptowany format wejściowy PDF: .pdf.
  • Obrazy podpisów muszą być prawidłowymi plikami graficznymi, zwykle PNG z przezroczystością.
  • Akceptowane jest do 100 obrazów podpisów i 100 rozmieszczeń.
  • sign-pdf to niestandardowa trasa i nie używa standardowego pola JSON settings narzędzia.