Skip to content

Count characters in PDF files to estimate upcomming digitization costs.

Notifications You must be signed in to change notification settings

Haighton/FTD_PDFcharCount

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

calculatietool

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.

Installatie

pip install -e .

Opmerking: EasyOCR installeert automatisch een passende Torch-versie.
Op systemen zonder GPU werkt alles prima; gpu=False is standaard.

EasyOCR modellen vooraf downloaden (aangeraden)

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/.

EasyOCR modelpad aanpassen

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:

Windows (CMD)

set EASYOCR_MODULE_PATH=D:\OCR_models

Zorg 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.

Gebruik (CLI)

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

CLI Opties

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).

Configuratie

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.72

Zoomniveau (--zoom)

De --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.

Voorbeelden

Alleen Excel (standaard):

calculatietool ./testdata --no-spaces --verbose

Excel + CSV:

calculatietool ./testdata --no-spaces --csv

Dev: thomas.haighton@kb.nl, 09-2025

About

Count characters in PDF files to estimate upcomming digitization costs.

Resources

Stars

Watchers

Forks

Languages