ocr
ocr
OCR de PDFs — extrai texto de PDFs nativos ou escaneados.
Modo nuvem (default)
Faz upload dos PDFs, dispara o OCR no escritório (PyMuPDF+Tesseract ou PaddleOCR), espera concluir e baixa o resultado (.zip) na pasta saida.
Modo local (local=True)
Roda PyMuPDF + pytesseract direto na máquina via labdados_core.ocr — mesmo pipeline que o serviço no escritório usa, sem chance de divergir em deskew, fallback BW ou descoberta do binário do Tesseract.
Precisa do extra pip install labdados[ocr] e do binário do Tesseract instalado no OS.
Functions
| Name | Description |
|---|---|
| ocr | Extrai texto de PDFs. |
ocr
ocr.ocr(
arquivos,
*,
saida=None,
api_key=None,
modelo='pymupdf-tesseract',
formato='txt',
idiomas='por+eng',
dpi=200,
deskew=False,
local=False,
text=False,
client=None,
progress=True,
)Extrai texto de PDFs.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| arquivos | PathLike | list[PathLike] | Pode ser um arquivo único, uma lista de arquivos ou uma pasta. No caso da pasta, varre recursivamente todos os .pdf. |
required |
| saida | PathLike | None | Diretório onde o resultado é salvo. Default: ./resultados_labdados/. No modo nuvem, baixa o .zip retornado pelo serviço; no modo local, escreve um arquivo de texto por PDF processado. |
None |
| api_key | str | None | Chave de API (apenas para modo nuvem). Peça uma no portal, em /consultoria/api-key. |
None |
| modelo | str | "pymupdf-tesseract" (default — leve, CPU) ou "paddleocr" (mais preciso em layouts complexos, GPU). PaddleOCR só está disponível no modo nuvem. |
'pymupdf-tesseract' |
| formato | OUTPUT_FORMAT | Formato do texto extraído: "txt" (default) ou "md". |
'txt' |
| idiomas | str | Códigos ISO 639-2 separados por + (padrão Tesseract). Ex.: "por+eng", "por+spa", "chi_sim+eng". |
'por+eng' |
| dpi | int | Resolução de renderização das páginas. 150/200/300. | 200 |
| deskew | bool | Endireita páginas tortas antes do OCR. Útil em scans tortos. | False |
| local | bool | Se True, processa no próprio computador (exige pip install labdados[ocr] e Tesseract instalado no OS). |
False |
| text | bool | Se True, devolve o texto reconhecido como str em vez do caminho da pasta. Os arquivos continuam sendo gravados em saida. Com vários PDFs, os textos vêm concatenados na ordem de entrada, separados por linha em branco. |
False |
| client | Client | None | Reaproveita um :class:labdados.Client existente. Quando passado, o api_key daqui é ignorado. |
None |
| progress | bool | Mostra spinner no stderr enquanto processa. | True |
Returns
| Name | Type | Description |
|---|---|---|
| Path | str | Caminho do diretório de saída, ou o texto reconhecido quando text=True. |
Examples
Modo nuvem, pasta inteira:
>>> import labdados
>>> labdados.ocr(arquivos="meus_pdfs/", api_key="sk_lab_...", saida="resultados/")Modo local:
>>> labdados.ocr(arquivos=["a.pdf", "b.pdf"], local=True)