Aggiungere un campo firma a un PDF
Un campo di 200 per 50 punti posto in 72, 72 su una pagina Letter di 612 per 792 ci sta, con 340 punti liberi a destra e 670 sopra, nel quadrante in basso a sinistra. Convalidi la posizione della firma prima di applicarla. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Larghezza della pagina
- 612
- Altezza della pagina
- 792
- X
- 72
- Y
- 72
- Larghezza
- 200
- Altezza
- 50
- Sistema di coordinate
- pdf_points_origin_bottom_left
- Quadrante
- bottom_left
- Area (punti)
- 10.000
- Percentuale di copertura
- 2,063115
Se un bordo qualsiasi esce dalla pagina, rifiuta il posizionamento con una spiegazione precisa di quale limite è stato superato, prima che Lei sprechi un'operazione di firma su un campo che nessuno vedrà mai.
Perché il posizionamento dei campi firma fallisce in produzione
E ogni team che automatizza la firma dei documenti finisce per pubblicare un bug di impaginazione — un modello di contratto si ricompone, una pagina scansionata arriva in A4 invece che in Letter, una coordinata calcolata per una pagina verticale atterra su una orizzontale, e il campo firma finisce fuori dalla pagina visibile. In alcuni strumenti la firma viene comunque applicata, quindi il documento risulta firmato nella dashboard ma non mostra nulla nella pagina che una persona apre. Una chiamata di validazione sostituisce l'incidente a valle.
Coordinate, unità e cosa ottiene
Tutti i valori sono punti PDF — settantadue per pollice — con l'origine nell'angolo in basso a sinistra della pagina, x che cresce verso destra e y verso l'alto, esattamente il sistema di coordinate che le annotazioni dei campi firma PDF usano nativamente.
In caso di successo, la risposta restituisce il rettangolo normalizzato, indica i quattro limiti assoluti, il margine residuo su ogni lato della pagina, il punto centrale, un quadrante leggibile come bottom-left, l'area del campo in punti quadrati e la percentuale di pagina che copre, oltre a una descrizione di una riga che può riversare direttamente in un log o in una traccia di audit.
In caso di fallimento, il messaggio di errore riporta i numeri incriminati: quale coordinata è scesa sotto lo zero o quale bordo calcolato ha superato quale dimensione della pagina. L'aritmetica è pura geometria di rettangoli con valori arrotondati a sei decimali, quindi la stessa richiesta produce sempre un output identico byte per byte su qualsiasi macchina.
Dove si inserisce in una pipeline di firma
Lo usi come cancello prima di qualsiasi operazione che scriva un campo firma: i costruttori di modelli convalidano ogni campo al salvataggio del modello, i lavori di firma in batch convalidano documento per documento appena prima dell'apposizione, e le pipeline di ingestione convalidano quando si sospetta una discrepanza di formato pagina tra il modello e il file in arrivo.
Poiché la capacità è geometria pura senza I/O su file, è abbastanza veloce da girare su ogni documento di un batch senza pensarci due volte, e abbastanza deterministica perché il suo output possa essere conservato come prova di un posizionamento verificato.
Casi d'uso
Convalidare un modello di firma prima della pubblicazione
Convalidi ogni campo firma di un modello rispetto al formato pagina di destinazione al salvataggio, così un campo mal posizionato viene rilevato dall'autore, non dal primo firmatario.
Proteggere un lavoro di firma in batch
Verifichi il posizionamento per documento appena prima dell'apposizione; un lavoro che metterebbe il campo fuori pagina fallisce rumorosamente su quel documento invece di spedire in silenzio una firma invisibile.
Fare debug di una firma mancante segnalata da un cliente
Ripeta il formato pagina e il rettangolo esatti del ticket di supporto e veda all'istante quale bordo della pagina il campo ha superato, con i numeri che lo dimostrano.
Domande frequenti
Quanto costa?
È anche gratis da eseguire nel Suo browser su questa pagina.
Modifica il mio PDF?
No. Convalida solo la geometria — Lei invia sei numeri, non un file. Nulla viene caricato, archiviato o scritto.
Che sistema di coordinate usa?
Punti PDF nativi: 72 punti per pollice, origine nell'angolo in basso a sinistra della pagina, x verso destra e y verso l'alto — lo stesso sistema delle annotazioni dei campi firma.
Un campo esattamente al bordo della pagina passa?
Sì. Un campo il cui bordo destro coincide con la larghezza della pagina è completamente all'interno; vengono rifiutati solo i bordi strettamente oltre i limiti della pagina.
Il risultato è deterministico?
Sì. È aritmetica pura di rettangoli con arrotondamento a sei decimali, quindi lo stesso input restituisce sempre un output identico byte per byte.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/pdf/digital-sign-field \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"page_width":612,"page_height":792,"x":72,"y":72,"width":200,"height":50}'const res = await fetch("https://api.kit.forhosting.com/pdf/digital-sign-field", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"page_width": 612,
"page_height": 792,
"x": 72,
"y": 72,
"width": 200,
"height": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/digital-sign-field",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"page_width": 612,
"page_height": 792,
"x": 72,
"y": 72,
"width": 200,
"height": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/digital-sign-field", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"page_width":612,"page_height":792,"x":72,"y":72,"width":200,"height":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"page_width":612,"page_height":792,"x":72,"y":72,"width":200,"height":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/digital-sign-field", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"page_width": 612,
"page_height": 792,
"x": 72,
"y": 72,
"width": 200,
"height": 50
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.digital_sign_field",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 25 |
max_pages | 200 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
L'API per aggiungere un campo firma a un PDF verifica l'unica cosa che rompe silenziosamente i flussi di firma: se il rettangolo che intende usare per un campo di firma digitale entra davvero nella pagina. Lei invia le dimensioni della pagina e la posizione del campo in punti PDF; l'API conferma che il campo rientra completamente nei limiti della pagina e descrive il posizionamento — margini su ogni lato, il quadrante in cui cade il suo centro e quanta parte della pagina copre.
Perché il posizionamento dei campi firma fallisce in produzione
L'endpoint add pdf signature field esiste per intercettare questa classe di bug nell'unico momento in cui costa poco: prima della creazione del campo. Lei descrive la pagina e il rettangolo, e l'API conferma il posizionamento con una descrizione geometrica completa oppure lo rifiuta, nominando il bordo esatto che è stato superato — a sinistra, in basso, oltre il bordo destro o oltre il bordo superiore.
Coordinate, unità e cosa restituisce l'API
Lei passa larghezza e altezza della pagina più il rettangolo del campo come x, y, width e height.
Dove si inserisce in una pipeline di firma
Lo stesso codice che risponde all'API gira gratis nel Suo browser su questa pagina, quindi un tecnico del supporto può riprodurre il posizionamento errato di un cliente digitando gli stessi sei numeri che la pipeline ha inviato. Paghi per chiamata a $0.002 solo quando lo automatizza; esplorare impaginazioni e fare debug di una coordinata specifica che fallisce non costa nulla.
Domande tecniche
Cosa succede se il campo è fuori dalla pagina?
La richiesta fallisce con un errore invalid_input il cui messaggio nomina il limite superato e mostra i numeri incriminati, per esempio un bordo destro di 700pt su una pagina larga 612pt.