feat: OCR scans with tesseract, drop docling from the default path. (#33)
pdftotext still wins on born-digital PDFs. Empty text layers go through pdftoppm + tesseract eng+deu. Optional OCR_ENGINE=paddle. Gitea #6.
This commit is contained in:
+11
-4
@@ -32,11 +32,18 @@ FROM_FILE / HAS_VERSION / AUTHORED.
|
||||
`--with-chats` on rebuild (WhatsApp out of v1).
|
||||
[#19](https://git.produktor.io/eSlider/2dph/issues/19) CI recall SoT =
|
||||
`bin/brain/eval.go` via Zig.
|
||||
Epic [#16](https://git.produktor.io/eSlider/2dph/issues/16) closed.
|
||||
|
||||
## v2
|
||||
|
||||
[#6](https://git.produktor.io/eSlider/2dph/issues/6) OCR — `pdftotext` then
|
||||
`pdftoppm` + tesseract `eng+deu`. Optional `ocr-paddle`.
|
||||
[#29](https://git.produktor.io/eSlider/2dph/issues/29) OQ1 contradiction
|
||||
resolution. [#30](https://git.produktor.io/eSlider/2dph/issues/30) OQ3 duckdb-md.
|
||||
|
||||
## Blockers
|
||||
|
||||
None for epic #16. v2: [#6](https://git.produktor.io/eSlider/2dph/issues/6) OCR,
|
||||
OQ1 contradiction resolution, OQ3 duckdb-md, OQ4 YAML-first leafs.
|
||||
None for epic #16 (closed). Remaining v2: OQ1, OQ3, OQ4.
|
||||
|
||||
```
|
||||
question
|
||||
@@ -51,8 +58,8 @@ question
|
||||
|
||||
## Not v1
|
||||
|
||||
[#6](https://git.produktor.io/eSlider/2dph/issues/6) OCR (OQ2), OQ1
|
||||
contradiction resolution, OQ3 duckdb-md export, OQ4 YAML-first leafs.
|
||||
OQ1 contradiction resolution, OQ3 duckdb-md export, OQ4 YAML-first leafs.
|
||||
OCR (OQ2) is in: tesseract, not docling.
|
||||
|
||||
## Close epic #16 when
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ No laptop-absolute paths. Config lives in env files under `$HOME/.config/brain/`
|
||||
- Go (see `go.mod`)
|
||||
- Python 3.12 + [uv](https://docs.astral.sh/uv)
|
||||
- Optional: Docker, Zig CGO via `bin/cgo/zig` (not gcc)
|
||||
- Optional: poppler (`pdftotext`/`pdftoppm`) + tesseract `eng+deu` for mail OCR
|
||||
|
||||
```bash
|
||||
uv venv .venv
|
||||
|
||||
Reference in New Issue
Block a user