Search K
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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| file | file | Yes | - | Plik PDF do podpisania |
| sig0 | file | Yes | - | Pierwszy obraz podpisu. Dodatkowe obrazy używają sig1, sig2 i tak dalej |
| placements | JSON string | Yes | - | Tablica obiektów rozmieszczenia: { "sig": 0, "page": 0, "x": 0.2, "y": 0.7, "w": 0.25, "h": 0.08 } |
| clientJobId | string | No | - | Opcjonalny UUID do śledzenia postępu przez SSE |
| fileId | string | No | - | Opcjonalny identyfikator biblioteki plików do zapisania podpisanego wyniku jako nowej wersji |
Placement Coordinates
| Field | Type | Description |
|---|---|---|
| sig | integer | Indeks obrazu podpisu. 0 odpowiada sig0 |
| page | integer | Indeks strony PDF liczony od zera |
| x | number | Pozycja lewej krawędzi jako ułamek strony |
| y | number | Pozycja górnej krawędzi jako ułamek strony |
| w | number | Szerokość podpisu jako ułamek strony |
| h | number | Wysokość 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-pdfto niestandardowa trasa i nie używa standardowego pola JSONsettingsnarzędzia.
