Elenchi i campi PDF: nomi, tipi e valori correnti
Un PDF può sembrare una pagina semplice e al contempo contenere un modulo strutturato sotto il layout visibile.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Questa capacità legge tale struttura e restituisce un inventario chiaro di tutti i campi, inclusi nome completo, tipo riconosciuto e valore corrente. Gestisce i comuni controlli AcroForm usati in domande, questionari, approvazioni e documenti di registrazione. L’elaborazione è deterministica e locale: non effettua richieste di rete, non formula ipotesi tramite modelli e non produce risultati casuali. Se il file non è un PDF, è danneggiato o non contiene campi, la richiesta restituisce un errore di input esplicito invece di un risultato vuoto che potrebbe sembrare valido.
Esamini la struttura reale del modulo PDF
I moduli PDF interattivi memorizzano i controlli separatamente dalle parole e dalle linee disegnate sulle pagine. Un campo può chiamarsi internamente customer.address.postcode anche se la pagina mostra soltanto l’etichetta «Codice postale». Questa capacità segue il catalogo del documento fino al dizionario AcroForm, percorre l’albero dei campi, applica le proprietà ereditate e restituisce i campi terminali nell’ordine del documento. Ogni risultato contiene il nome completo, un tipo normalizzato e il valore salvato nel PDF. Caselle di testo, caselle di spunta, gruppi radio, menu a discesa, liste di opzioni, pulsanti e firme vengono distinti tramite il tipo e i flag definiti nel documento. I nomi gerarchici sono uniti con punti, così controlli simili in sezioni diverse restano inequivocabili. L’output diventa quindi un inventario dello schema leggibile da una macchina, non una semplice estrazione del testo visibile. Una casella senza valore attivo viene indicata come false e un campo firma vuoto viene riconosciuto senza fingere che la firma esista.
Invii il documento e interpreti la risposta
Invii il PDF nel parametro pdf come base64 semplice oppure come URL dati application/pdf codificato in base64. Il parser verifica prima la codifica e l’intestazione PDF, quindi legge gli oggetti indiretti necessari a trovare il catalogo e l’albero dei campi. La risposta include fields, una matrice di record, e count, il numero dei campi restituiti. I tipi usano nomi pratici quali TextField, CheckBox, RadioGroup, Dropdown, OptionList, PushButton e Signature. I valori correnti mantengono stringhe e matrici quando il PDF li memorizza così, mentre lo stato di una casella viene restituito come booleano. I controlli testuali vuoti usano una stringa vuota e si distinguono dai campi assenti. Non confonda l’etichetta stampata accanto al controllo con il nome del campo: soltanto la definizione interna determina il nome restituito. L’assenza di campi genera intenzionalmente un errore, aiutando l’automazione a rilevare un PDF appiattito, una scansione o un allegato errato. La dimensione accettata è limitata per mantenere prevedibile l’analisi.
Usi l’inventario in sicurezza nei flussi documentali
Un inventario dei campi è un utile primo passo prima di compilare, convalidare, migrare o controllare moduli PDF. Un sistema di onboarding può confrontare i nomi restituiti con le chiavi del database prima di compilare un modello. Un controllo qualità può verificare che una versione aggiornata conservi i campi obbligatori e che i tipi non siano cambiati. Una migrazione d’archivio può registrare i valori incorporati in ciascun documento interattivo prima di appiattirlo. Poiché l’algoritmo non contatta servizi esterni e non deduce valori dall’aspetto della pagina, richieste con byte identici producono lo stesso JSON. Questa prevedibilità è importante per test e verifiche. Si tratta però di un lettore di strutture AcroForm, non di riconoscimento ottico: la scansione di un modulo cartaceo contiene pixel ma nessun campo interattivo e genera quindi l’errore previsto. La capacità non modifica, appiattisce, firma, decifra né ripara documenti. I file cifrati o con oggetti illeggibili devono essere preparati prima dell’invio con uno strumento PDF adeguato.
Casi d'uso
Mappi un modulo prima della compilazione
Individui nomi interni esatti e tipi di controllo che il flusso dovrà usare prima di inviare i dati.
Rilevi regressioni nei modelli
Confronti l’inventario con un contratto approvato quando viene pubblicata una nuova versione del modulo PDF.
Controlli le risposte archiviate
Estragga i valori correnti da domande o approvazioni interattive per una revisione e migrazione strutturate.
Domande frequenti
Quanto costa una richiesta?
Il prezzo dell’API è $0.002 per richiesta.
Quali tipi di campo PDF sono riconosciuti?
L’output distingue testo, caselle, gruppi radio, menu, liste, pulsanti e firme.
Cosa accade se il PDF non contiene un modulo?
La richiesta restituisce un errore di input che segnala l’assenza di campi nel PDF.
Può leggere un modulo cartaceo scansionato?
No. Le scansioni richiedono OCR; questa capacità legge strutture AcroForm interattive.
Il documento viene modificato o compilato?
No. Vengono riportati solo nomi, tipi e valori correnti, senza modificare il PDF.
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/list-form-fields \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/list-form-fields", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/list-form-fields",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/list-form-fields", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/list-form-fields", 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
{
"pdf": "https://ejemplo.com/documento.pdf"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.list_form_fields",
"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. |