Estrarre testo da un PDF scansionato
Strumento per estrarre testo da un PDF scansionato: carichi il file e, pagina per pagina, ti restituisce il testo che quel PDF nasconde perché è fatto di immagini. Serve quando un documento scannerizzato non si lascia selezionare né cercare, e ti serve invece il contenuto in forma di testo vero, pronto da copiare.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Scansione o PDF nativo: la differenza
Un PDF può contenere testo vero oppure essere soltanto la foto di una pagina messa dentro un PDF. Nel secondo caso non selezioni niente e la ricerca non trova nulla: è il classico documento passato allo scanner o salvato da una foto. Questo strumento legge proprio quelle pagine-immagine e ne ricava il testo. Se il PDF ha già testo selezionabile non ti serve l'OCR: basta estrarlo, e costa meno.
Come si usa
Carichi il PDF dal browser o lo invii via API e ricevi il testo di ogni pagina, nell'ordine giusto. Il limite è di 10 pagine e 25 MB per file: per fascicoli più lunghi conviene dividerli prima e mandarli a blocchi. Ogni pagina viene contata singolarmente, così sai in anticipo quanto spenderai. Il risultato torna in forma ordinata, comodo da incollare in un documento nuovo o da dare in pasto a un altro passaggio.
Quanto costa a pagina
Prezzo pubblicato e a consumo: $0.010 a richiesta più $0.0575 per pagina elaborata. Un documento di 8 pagine costa poco più di 46 centesimi di dollaro più la richiesta, senza canoni mensili né minimi. Paghi solo le pagine che passi davvero. È una spesa che ha senso soprattutto quando l'alternativa è ricopiare a mano decine di pagine di un vecchio contratto o di un manuale scansionato.
Casi d'uso
Il vecchio contratto torna cercabile
Studio Commercialista Bianchi di Bologna riceve dai clienti contratti scansionati anni fa: estrae il testo per ritrovare al volo una data o un importo, invece di scorrere pagina per pagina.
Manuale scannerizzato da riutilizzare
Tecnoedil Verona S.n.c. ha solo la scansione di un manuale tecnico: ne estrae il testo per rimontarlo in un documento aggiornato senza ridigitare tutto.
Delibere della PA da citare
Un ufficio riceve delibere in PDF scansionato e ne estrae i passaggi da citare in una relazione, con copia e incolla invece di trascrizione a mano.
Domande frequenti
Che differenza c'è con l'estrazione di un PDF normale?
Se il PDF ha già testo selezionabile, il testo si estrae direttamente e senza OCR. Questo strumento serve quando il PDF è fatto di immagini (scansioni, foto): lì il testo va ricostruito e per questo si paga l'elaborazione a pagina.
Quante pagine posso caricare in una volta?
Fino a 10 pagine e 25 MB per file. Se il documento è più lungo, dividilo prima e mandalo in più blocchi: ogni pagina viene comunque conteggiata a parte.
Mantiene l'ordine delle pagine?
Sì, il testo torna nell'ordine del documento, pagina dopo pagina, così lo rimonti senza dover ricostruire la sequenza.
Il file resta sui vostri server?
No. Il PDF viene elaborato per ricavarne il testo e poi eliminato; non lo conserviamo. Il trattamento è conforme al GDPR.
Come pago? Va bene PayPal?
Sì, PayPal va benissimo, oppure ci scrivi su WhatsApp o via email per concordare. Nessun account da aprire: si paga la richiesta e si procede.
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/ocr/pdf \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/ocr/pdf", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ocr/pdf",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ocr/pdf", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ocr/pdf", 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
{
"input": "…"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ocr.pdf",
"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 | 10 |
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. |
413 | input_too_large | Il file o il testo inviato supera il limite di questo strumento. |
422 | task_failed | L'attività non è andata a buon fine: non ti viene addebitato nulla. |