Tel tekens in PDF-bestanden (met of zonder text layer) met EasyOCR.
PDF-pagina's worden via PyMuPDF naar afbeeldingen gerenderd; de OCR-tekst wordt samengevoegd en het aantal tekens wordt geteld.
pip install -e .Opmerking: EasyOCR installeert automatisch een passende Torch-versie.
Op systemen zonder GPU werkt alles prima;gpu=Falseis standaard.
EasyOCR downloadt de benodigde taalmodellen automatisch bij de eerste run.
Wil je dit vooraf doen (zodat je tool meteen start zonder vertraging), voer dan:
python -c "import easyocr; easyocr.Reader(['nl'], gpu=False)"Hiermee wordt het Nederlands model gedownload en lokaal opgeslagen in ~/.EasyOCR/.
Standaard slaat EasyOCR zijn modellen op in:
C:\Users\<gebruikersnaam>\.EasyOCR\
Op sommige systemen (zoals Windows met beperkte rechten) kan EasyOCR daar niet schrijven.
In dat geval kun je een alternatieve map gebruiken, bijvoorbeeld:
D:\OCR_models
Stel dan vóór het gebruik van calculatietool de omgevingsvariabele EASYOCR_MODULE_PATH in:
set EASYOCR_MODULE_PATH=D:\OCR_modelsZorg ervoor dat deze map bestaat en beschrijfbaar is. EasyOCR maakt daar automatisch submappen aan zoals model/, detection/ en recognition/.
Als je de modellen al op een andere computer hebt laten downloaden, kun je de .EasyOCR/ map daarvandaan kopiëren naar je gewenste locatie.
calculatietool [PAD1] [PAD2] ... [-r] [--zoom 2.0] [--no-spaces] \
[--output ./output] [--csv] [--logfile ./logs/run.log] [--verbose]Je kunt meerdere mappen en PDF-bestanden opgeven, of een combinatie.
Bijvoorbeeld:
calculatietool ./batch1 ./extra/bestand.pdf --no-spaces -r --zoom 2.5 --verbose| Optie | Alias | Beschrijving |
|---|---|---|
PAD |
– | Vereist. Eén of meer paden naar mappen of PDF-bestanden. |
--recurse |
-r |
Doorzoek submappen recursief naar PDF-bestanden. |
--output |
-o |
Map of bestandspad waar de Excel wordt opgeslagen. Standaard: ./output/calculatietool-uitkomsten_<timestamp>.xlsx |
--csv |
– | Genereer ook een CSV-bestand naast de standaard Excel-output. |
--logfile |
– | Pad naar logbestand. Standaard: ./logs/calculatietool.log. |
--zoom |
– | Render-zoomniveau voor OCR. Verhoog bij slechte scans. Standaard: 2.0 (=144dpi). |
--no-spaces |
– | Tel tekens zonder spaties (verwijdert alle witruimte). |
--verbose |
– | Toon logoutput ook in de terminal (naast wegschrijven in logbestand). |
De parameters voor de berekeningen (factor, ideale constante en tarieven) kun je aanpassen in een
config.yaml bestand in de projectmap. Voorbeeld:
# config.yaml
factor: 1.10
ideale_constante: 2275
tarief_met_tekst: 0.60
tarief_zonder_tekst: 0.72De --zoom waarde bepaalt hoe groot elke PDF-pagina wordt gerenderd vóór OCR.
--zoom 1.0≈ 72dpi (laag)--zoom 2.0≈ 144dpi (aanbevolen)--zoom 3.0≈ 216dpi (voor vage scans)
Hogere zooms geven betere OCR-resultaten, maar kosten meer tijd/geheugen.
Alleen Excel (standaard):
calculatietool ./testdata --no-spaces --verboseExcel + CSV:
calculatietool ./testdata --no-spaces --csvDev: thomas.haighton@kb.nl, 09-2025