Metadata-Version: 2.5
Name: shade-plugins-pdf
Version: 0.1.0
Summary: Extrair texto e tabelas de PDF com texto, offline, sob o contrato de plugin do shade-sdk.
Author: ShadeOne
License-Expression: Apache-2.0
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: pdfplumber<0.12,>=0.11
Requires-Dist: shade-sdk<0.23,>=0.12.0
Description-Content-Type: text/markdown

# shade-plugins-pdf

Extrai o texto e as tabelas de um PDF com camada de texto. É um plugin do
[`shade-sdk`](https://pypi.org/project/shade-sdk/); roda offline, sem credencial e sem nenhuma
operação com efeito.

No `shade.toml` do robô:

```toml
[plugins]
pdf = "0.1.0"
```

```python
import shade_plugins_pdf as pdf

paginas = pdf.texto("extrato.pdf")              # uma string por página
tabelas = pdf.tabelas("extrato.pdf", pagina=1)  # [[["Pedido", "Cliente"], ["1001", "Acme"]]]
```

| Operação | O que faz |
| --- | --- |
| `total_de_paginas(caminho)` | Quantas páginas o PDF tem. |
| `texto(caminho, paginas=None)` | O texto de cada página pedida (a partir de 1; todas, se omitido). |
| `tabelas(caminho, pagina=None)` | As tabelas da página (todas, se omitida): lista de linhas de células em texto, e `""` na célula vazia. |

- **Tabela** é a que o PDF desenha com linhas; tabela só alinhada por espaços não é detectada.
- **Não faz OCR:** PDF escaneado (só imagem) devolve texto vazio e nenhuma tabela.
- Página fora do documento é recusada com `ErroDeContrato`.
