dac-ocr

DacOCR

Estrae il testo da PDF, immagini e file Office usando modelli VLM, direttamente sul tuo PC.

DacOCR è un'app desktop OCR (Windows) basata su Electron: trascina i tuoi documenti, seleziona le pagine, avvia il riconoscimento e ottieni il testo in Markdown, pronto da esportare, copiare o confrontare con l'originale.

Caratteristiche

  • 🔍 OCR da modelli VLM Hugging Face — GLM-OCR (funziona anche su CPU), Qwen2.5-VL-72B e DeepSeek-OCR, con verifica automatica della compatibilità con il tuo PC
  • 📄 Molteplici formati — PDF, immagini (JPG, PNG, BMP, TIFF, WEBP, HEIC/HEIF…) e file Office (DOCX, XLSX, PPTX, ODT…) convertiti via LibreOffice
  • ⚡ Coda batch multi-file — elabora più documenti con un solo clic, con selezione individuale delle pagine
  • 👁 Confronto affiancato — risultato e originale sincronizzati con scroll identico
  • 📤 Export completo — Markdown, Word (DOCX), PDF (tabelle, blocchi di codice, numeri di pagina) e testo
  • 🛟 Auto-export — salva automaticamente ogni risultato in Documenti/DacOCR/Esportazioni
  • 🗂 Cronologia — tutte le elaborazioni restano salvate e sono ripristinabili in un clic
  • 🧠 Preprocessing smart — deskew, denoise e binarizzazione per documenti storti o con rumore
  • 📊 Progressi in tempo reale — barra di avanzamento per OCR e download dei modelli (file per file)
  • 🩺 Log consultabili — pannello log integrato per diagnosi rapide

Come funziona

  1. Carica i documenti (drag & drop)
  2. Scegli il modello e le pagine da riconoscere
  3. Avvia l'OCR e raccogli il testo in Markdown
  4. Esporta, copia o confronta il risultato

Tecnologie

Strato Tecnologia
Interfaccia Angular (standalone components + signals)
Desktop Electron
Backend Python · FastAPI · PyTorch · Hugging Face Transformers
Image Pillow · pillow-heif · OpenCV · PyMuPDF

Requisiti

  • Windows (macOS/Linux: avvio da sorgente)
  • Python 3.13 (backend in .venv dedicato)
  • LibreOffice (solo per i file Office)
  • ~3 GB liberi su disco per il modello GLM-OCR

Sviluppo

npm install
backend/.venv/Scripts/python.exe -m pip install -r backend/requirements.txt
npm run build && npm run electron