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

Firma PDF

Applica una o più immagini di firma PNG caricate su qualsiasi pagina di un PDF. Questa route usa un contratto multipart personalizzato perché necessita del PDF, di una o più immagini di firma e delle coordinate di posizionamento.

API Endpoint

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

Accetta dati di form multipart. Il PDF viene inviato come file; le firme vengono inviate come sig0, sig1, e così via; i posizionamenti vengono inviati in un campo JSON placements.

Parameters

ParameterTypeRequiredDefaultDescription
filefileYes-File PDF da firmare
sig0fileYes-Prima immagine di firma. Le immagini aggiuntive usano sig1, sig2, e così via
placementsJSON stringYes-Array di oggetti di posizionamento: { "sig": 0, "page": 0, "x": 0.2, "y": 0.7, "w": 0.25, "h": 0.08 }
clientJobIdstringNo-UUID opzionale per il monitoraggio dell'avanzamento tramite SSE
fileIdstringNo-ID opzionale della libreria file per salvare il risultato firmato come nuova versione

Placement Coordinates

FieldTypeDescription
sigintegerIndice dell'immagine di firma. 0 corrisponde a sig0
pageintegerIndice di pagina PDF a base zero
xnumberPosizione sinistra come frazione della pagina
ynumberPosizione superiore come frazione della pagina
wnumberLarghezza della firma come frazione della pagina
hnumberAltezza della firma come frazione della pagina

Le coordinate usano un'origine in alto a sinistra. I valori possono sconfinare leggermente oltre il bordo della pagina; il renderer PDF ritaglia il timbro finale alla pagina.

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
}

Se la richiesta non riesce a completarsi entro la finestra di attesa sincrona, l'API restituisce:

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

Connettiti a /api/v1/jobs/<jobId>/progress e scarica il risultato quando il job è completato.

Notes

  • Formato di input PDF accettato: .pdf.
  • Le immagini di firma devono essere file immagine validi, tipicamente PNG con trasparenza.
  • Sono accettate fino a 100 immagini di firma e 100 posizionamenti.
  • sign-pdf è una route personalizzata e non usa il campo JSON standard settings dello strumento.