ebd2a43f84
Porta da main la riscrittura completa di conversione/_pipeline/ (9 stadi PyMuPDF) e la suite tests/ senza modificare chunks/, step-8/, rag.py, ollama/, retrieve.py, config.py. requirements.txt: aggiunge PyMuPDF>=1.24.0 e pytest>=8.0, mantiene chromadb, rimuove opendataloader-pdf e pymupdf4llm. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
69 lines
1.3 KiB
Markdown
69 lines
1.3 KiB
Markdown
# PDF → Markdown
|
|
|
|
Converte PDF digitali in Markdown strutturato e pulito.
|
|
|
|
**Stack:** Python · opendataloader-pdf (XY-Cut++) · Java 11+
|
|
**Compatibile con:** Linux · macOS · Windows (WSL2)
|
|
|
|
---
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
python -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
**Java 11+** richiesto:
|
|
|
|
```bash
|
|
sudo apt install default-jdk # Ubuntu/Debian/WSL
|
|
java -version
|
|
```
|
|
|
|
---
|
|
|
|
## Utilizzo
|
|
|
|
```bash
|
|
# Singolo PDF
|
|
python conversione/pipeline.py --stem <nome>
|
|
|
|
# Tutti i PDF in sources/
|
|
python conversione/pipeline.py
|
|
|
|
# Forza riesecuzione
|
|
python conversione/pipeline.py --stem <nome> --force
|
|
```
|
|
|
|
`--stem` = nome file PDF senza estensione.
|
|
Esempio: `sources/analisi1.pdf` → `--stem analisi1`
|
|
|
|
---
|
|
|
|
## Output
|
|
|
|
Per ogni stem in `conversione/<stem>/`:
|
|
|
|
| File | Descrizione |
|
|
|------|-------------|
|
|
| `raw.md` | Markdown grezzo — **non modificare** |
|
|
| `clean.md` | Markdown pulito — copia di lavoro |
|
|
| `structure_profile.json` | Struttura rilevata e metriche |
|
|
| `report.json` | Statistiche complete della conversione |
|
|
|
|
---
|
|
|
|
## Validazione batch
|
|
|
|
```bash
|
|
python conversione/validate.py
|
|
```
|
|
|
|
Stampa una tabella di stato su tutti gli stem convertiti.
|
|
|
|
---
|
|
|
|
Vedi [`conversione/README.md`](conversione/README.md) per dettagli sulla pipeline e i tipi di documento supportati.
|