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,
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 |
| 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 | Caminho do diretório de saída (criado se preciso). |
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)