Segnali pagine PDF che richiedono OCR
Indichi quattro pagine come testo, immagine, testo, immagine e scoprirà che la 2 e la 4 richiedono OCR, mentre la 1 e la 3 sono già ricercabili, con un breve riepilogo. Mandi al riconoscimento solo quelle pagine. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Molti PDF mescolano pagine native digitali, già con un livello di testo selezionabile, e pagine scansionate che sullo schermo sembrano corrette ma non consentono di copiare, cercare né indicizzare. Prima di spendere budget su un OCR di tutto il documento o di inviare il file a una pipeline che assume testo estraibile, Le serve l'elenco esatto dei numeri di pagina senza livello testo. Questa capacità accetta quella mappa booleana di presenza—true quando la pagina ha testo estraibile, false quando è solo immagine—e restituisce le pagine che richiedono OCR, quelle già ricercabili, i conteggi, il rapporto di OCR e un riepilogo di una riga. L'input vuoto viene rifiutato così nessuno confonde il silenzio con un successo.
Cosa significano le flag di livello testo e perché conta l'OCR per pagina
Una pagina PDF può disegnare glifi che sembrano testo e al contempo memorizzare solo un'immagine raster sottostante. Il rimedio pratico è l'OCR, ma eseguirlo su ogni pagina di un grande documento misto spreca tempo e denaro quando metà delle pagine ha già un livello testo. Il contratto qui è volutamente stretto: Lei sa già—oppure una sonda leggera ha già misurato—se ogni pagina ha testo estraibile.
Le flag si interpretano nell'ordine del documento a partire dalla pagina uno. Quella forma consente a un job batch di fare OCR solo sulle pagine segnalate, di saltare quelle già ricercabili e di riportare la copertura senza rianalizzare i byte del PDF.
Casi d'uso
Elenchi di lavoro OCR selettivo
Trasformi una sonda di livello testo per pagina in un elenco a base uno delle pagine che richiedono ancora OCR, così i job batch saltano le pagine già ricercabili.
Ticket di remediation dell'accessibilità
Apra ticket a livello di pagina per pagine solo immagine senza testo estraibile, invece di segnalare l'intero documento.
Domande frequenti
I numeri di pagina partono da zero o da uno?
Da uno, come numerano le persone e la maggior parte delle interfacce PDF. La prima flag è la pagina 1, la seconda la pagina 2, e così via.
Questa capacità apre o esegue OCR sul file PDF?
No. Analizza solo le flag booleane di livello testo che Lei fornisce.
Che cosa indica la quota di OCR?
La parte del documento che deve ancora passare dal riconoscimento: le pagine senza testo divise per il totale. Con quattro pagine e due senza testo la quota è 0,5, cioè metà del documento.
Perché una pagina che mostra testo può richiedere l'OCR?
Perché ciò che vede può essere solo una foto del testo. Una pagina scansionata appare bene sullo schermo ma contiene solo un'immagine, quindi copia, ricerca e lettori di schermo non ne ricavano nulla.
Che cosa succede se il valore di una pagina non è valido?
Il controllo si ferma e indica quella pagina, contata da uno, così può correggere il passaggio che ha prodotto l'elenco. Anche un elenco vuoto viene rifiutato, per non scambiare il silenzio per un successo.
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/searchable-ocr-flag \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text_layer":[true,false,true,false]}'const res = await fetch("https://api.kit.forhosting.com/pdf/searchable-ocr-flag", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text_layer": [
true,
false,
true,
false
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/searchable-ocr-flag",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text_layer": [
true,
false,
true,
false
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/searchable-ocr-flag", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text_layer":[true,false,true,false]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text_layer":[true,false,true,false]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/searchable-ocr-flag", 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
{
"text_layer": [
true,
false,
true,
false
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.searchable_ocr_flag",
"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
Cosa significano le flag di livello testo e perché conta l'OCR per pagina
Gli strumenti a valle che chiamano API di estrazione testo ricevono stringhe vuote, la ricerca full-text salta la pagina, i lettori di accessibilità non annunciano nulla di utile e le pipeline di archiviazione che si aspettano testo nativo falliscono in silenzio. Invia quell'elenco ordinato di flag booleane; questo endpoint non apre il PDF. true significa che la pagina è ricercabile e non richiede OCR; false significa che è solo immagine (o senza livello testo) e va messa in coda per l'OCR. La risposta elenca needs_ocr_pages e searchable_pages come numeri di pagina a base uno, più needs_ocr_count, searchable_count, all_need_ocr, all_searchable, ocr_ratio come needs_ocr_count diviso per page_count, un array pages con has_text_layer e needs_ocr per pagina, e un summary leggibile per log e banner di interfaccia.
Contratto di ingresso, forma della risposta ed errori di elenco vuoto
Ogni voce dovrebbe essere booleana; il solver accetta anche i token numerici zero e uno e le stringhe comuni true, false, yes, no, y, n, zero e one, così export CSV o da moduli possono essere incollati senza un passo di conversione. Token non validi su una pagina specifica falliscono nominando l'indice di pagina a base uno, così può correggere la sonda che ha prodotto la mappa. Abbini questa uscita al Suo motore OCR o a un prodotto gemello di OCR PDF quando è pronto a elaborare solo le pagine elencate. Invii un corpo JSON con text_layer, un array non vuoto obbligatorio di flag di presenza per pagina nell'ordine del documento. Gli alias pages, flags e has_text sono accettati per lo stesso array. Un array vuoto, una stringa vuota, un campo mancante o un valore null falliscono con invalid_input e un messaggio che nomina text_layer e afferma che serve almeno una flag di pagina—quei fallimenti non vengono fatturati. In caso di successo il corpo restituisce page_count uguale alla lunghezza delle flag, needs_ocr_pages per ogni false, searchable_pages per ogni true, i due conteggi, all_need_ocr quando tutte le pagine richiedono OCR, all_searchable quando nessuna lo richiede, ocr_ratio arrotondato a dodici decimali per test stabili tra runtime, l'array dettagliato pages e summary. Esempio: flag true, false, true, false producono page_count quattro, needs_ocr_pages due e quattro, searchable_pages uno e tre, needs_ocr_count due, ocr_ratio zero virgola cinque, e un riepilogo che afferma che due pagine su quattro richiedono OCR.
Dove un'API di flag pagine che richiedono OCR rende
I banchi di digitalizzazione ricevono faldoni misti: export digitali nativi intercalati a scansioni a letto piano. I team di remediation dell'accessibilità necessitano di un elenco deterministico di pagine che falliscono i controlli di testo selezionabile, così i ticket si aprono pagina per pagina anziché a livello di documento. Mantenga le richieste piccole, fissi nei test gli elenchi ordinati di pagine e ottiene un cancello riproducibile tra inventario PDF e spesa OCR senza montare uno stack di IA documentale per una semplice scansione booleana. Un passo di preflight che ha già misurato la presenza del livello testo può chiamare questo endpoint per produrre un elenco di lavoro di numeri di pagina per la coda OCR senza riaprire file di centinaia di pagine. Le piattaforme di ricerca e e-discovery usano le stesse flag per decidere se un documento è pronto per l'indicizzazione o deve attendere l'OCR, e il campo ocr_ratio alimenta dashboard di qualità che tracciano quanto di ogni lotto in ingresso è ancora solo immagine. Poiché l'implementazione è parse di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita; la validazione fallita non consuma saldo.
Casi di integrazione
Ricezione e prontezza all'indice
Decida se un PDF misto è pronto per la ricerca full-text o deve attendere l'OCR usando needs_ocr_count e ocr_ratio nella Sua pipeline.
Domande tecniche
Come segnalo le pagine PDF che richiedono OCR?
Invii text_layer come array non vuoto di booleani in ordine di pagina (true = ha testo estraibile, false = richiede OCR). L'API restituisce needs_ocr_pages, searchable_pages, conteggi, ocr_ratio e un summary.
Cosa succede se text_layer è vuoto?
L'attività fallisce con invalid_input. Un elenco di flag vuoto o assente viene rifiutato così nessuno tratta il silenzio come «nessuna pagina richiede OCR». La validazione fallita non viene fatturata.
Quanto costa segnalare le pagine PDF che richiedono OCR?
Lo strumento nel browser è gratis. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'input non valido non viene fatturato.