# OCR automático de PDFs

Ao receber um PDF, o iDrive cria uma tarefa de OCR e tenta processá-la em segundo plano com OCRmyPDF/Tesseract.

## Instalação

```bash
sudo apt update
sudo apt install -y ocrmypdf tesseract-ocr tesseract-ocr-por tesseract-ocr-eng
```

## Migração

```bash
php database/migrate_pdf_ocr.php
```

## Worker recomendado (cron)

O disparo em segundo plano ocorre automaticamente após o upload. Para garantir reprocessamento de tarefas que falharam ou ficaram pendentes, adicione ao cron do usuário do Apache:

```cron
* * * * * /usr/bin/php /var/www/idrive/database/process_ocr_queue.php >/dev/null 2>&1
```

Ajuste `/var/www/idrive` para a pasta real da aplicação.

## Comportamento

- O modo padrão `--redo-ocr` preserva texto nativo e reconhece imagens inseridas em páginas mistas.
- A opção `--deskew` não é usada com `--redo-ocr`, pois a combinação é incompatível no OCRmyPDF 15.
- O PDF original é salvo no histórico de versões antes da substituição.
- O PDF ativo passa a ser pesquisável.
- O texto extraído é gravado no banco e integrado à pesquisa global.
- Estados possíveis: `pending`, `processing`, `completed` e `error`.

## Diagnóstico rápido

```bash
tesseract --list-langs
php database/migrate_pdf_ocr.php
php database/process_ocr_queue.php
```

O primeiro comando deve listar `por` e `eng`. A migração também reenfileira tarefas que estavam com erro.
