PDF escaneado ou digital
Essa ferramenta analisa um PDF e responde uma pergunta técnica com consequência prática: o arquivo é digital, com texto de verdade dentro, ou é um escaneado — uma foto de papel sem texto pesquisável? A resposta decide se o documento precisa de OCR e por qual caminho ele segue no seu sistema.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
Dois PDFs iguais na tela, opostos por dentro
Um PDF exportado do Word carrega o texto real: dá para buscar, selecionar e extrair de graça, por leitura direta. Um PDF que saiu do scanner é outra criatura: cada página é uma imagem, e qualquer extração exige reconhecimento óptico — mais caro e sujeito a erro. Na tela, os dois parecem idênticos. A verificação abre o arquivo por dentro e diz com qual dos dois você está lidando, antes de qualquer decisão.
Por que verificar antes de processar
Em fluxo de documentos, mandar tudo para OCR é queimar dinheiro: boa parte dos PDFs que circulam já é nativa e dispensa reconhecimento. O padrão eficiente é triar primeiro — a verificação custa US$ 0,002 por documento, sem custo por página — e rotear: nativos seguem pela extração direta, escaneados vão para o OCR. Num acervo grande, a economia paga a triagem muitas vezes: só passa pelo caminho caro quem precisa dele.
Casos que valem atenção
Existe o PDF traiçoeiro: escaneado que recebeu uma camada de OCR no passado e “parece” pesquisável, mas com texto de qualidade duvidosa por baixo da imagem. E existe o documento montado aos pedaços, misturando páginas exportadas e digitalizadas. A verificação existe exatamente para tirar essa dúvida com base no conteúdo real do arquivo, em vez de confiar no nome do arquivo ou na aparência — os dois piores indicadores possíveis.
Casos de uso
Contabilidade decidindo o que vai para OCR
O escritório contábil recebe centenas de PDFs por mês: alguns exportados dos sistemas dos clientes, outros escaneados no balcão. A verificação separa os dois grupos automaticamente, e só os escaneados geram custo de reconhecimento — o processamento mensal ficou mais barato sem perder nenhum documento.
Dev montando pipeline de documentos
Um desenvolvedor constrói o fluxo de ingestão de documentos do produto. O primeiro nó do pipeline é essa checagem: nativo segue para extração direta de texto; escaneado, para OCR. Duas linhas de código e o roteamento inteiro fica correto por construção.
Advocacia avaliando autos digitalizados
Antes de rodar buscas por palavra-chave nos autos baixados, a equipe verifica quais volumes são pesquisáveis e quais são pura imagem. Os volumes escaneados — onde a busca falharia em silêncio — são identificados e tratados antes que alguém confie num resultado vazio.
Empresa auditando o arquivo morto digitalizado
Depois de um projeto de digitalização, a empresa audita a entrega: rodando a verificação em amostra dos arquivos, confirma quantos ficaram com texto pesquisável de verdade, como pedia o contrato com o fornecedor de digitalização.
Perguntas frequentes
O que significa exatamente “PDF nativo”?
É o PDF que nasceu digital — exportado de um editor, sistema ou navegador — e carrega o texto como texto. O escaneado nasceu no papel e virou imagem: sem OCR, não há o que buscar nem copiar dentro dele.
Por que a busca do meu leitor de PDF não acha palavras que estão no documento?
Sintoma clássico de escaneado: as palavras estão visíveis como imagem, mas não existem como texto. É exatamente o diagnóstico que esta verificação entrega antes de você confiar na busca.
Isso já faz o OCR do arquivo?
Não — e é essa a graça: por uma fração do custo, você descobre se o OCR é necessário. O reconhecimento em si é outra etapa, que você aciona apenas para os arquivos que a triagem apontar.
Quanto custa verificar um acervo inteiro?
US$ 0,002 por documento, sem componente por página — 10.000 arquivos custam US$ 20. Como cada OCR evitado economiza muito mais que isso, a triagem tende a se pagar no primeiro lote.
O conteúdo dos PDFs é lido ou guardado nessa análise?
A análise é estrutural: interessa se existe camada de texto, não o assunto do documento. O arquivo é usado apenas para essa verificação, sem armazenamento posterior nem qualquer reaproveitamento.
Qual o limite de tamanho por arquivo?
Até 25 MB e 10 páginas por envio. Para acervos com arquivos maiores, divida o PDF antes — a resposta continua valendo para cada parte.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/ocr/scanned-or-native \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/ocr/scanned-or-native", {
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/scanned-or-native",
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/scanned-or-native", 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/scanned-or-native", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"input": "…"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ocr.scanned_or_native",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 25 |
max_pages | 10 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
413 | input_too_large | A entrada passou do tamanho máximo desta tarefa. Confira os limites publicados. |