Konverzia PDF do OCR formátu pre Paperless-ngx na CachyOS

:receipt: Návod: Konverzia PDF do OCR formátu pre Paperless-ngx na CachyOS


:puzzle_piece: Prečo konvertovať PDF do OCR formátu pred nahratím do Paperless?

Aj keď Paperless-ngx zvláda automatické spracovanie väčšiny bežných dokumentov, v niektorých prípadoch môže zlyhať import aj pri PDF súboroch, ktoré sa dajú bežne otvoriť a označiť v PDF prehliadači – teda obsahujú textovú vrstvu.

:right_arrow: Typickým príkladom sú faktúry od spoločnosti Alza, ktoré sa síce vizuálne zobrazia správne a text v nich je označiteľný, no Paperless ich napriek tomu odmietne naimportovať bez zjavnej chyby.

Praktickým riešením je vykonať konverziu pomocou ocrmypdf, ktorý vytvorí nové PDF s preverenou a jednoznačnou textovou vrstvou, ktorú už Paperless dokáže bez problémov spracovať.


:white_check_mark: 1. Nainštaluj ocrmypdf

Nástroj ocrmypdf prekonvertuje PDF na nový súbor s textovou vrstvou, ktorú vie Paperless-ngx správne spracovať.

paru -S ocrmypdf

Vysvetlenie:
ocrmypdf využíva OCR engine Tesseract, aby do PDF doplnil (alebo prepísal) textovú vrstvu – ideálne pre skeny alebo zložité faktúry.


:white_check_mark: 2. Nainštaluj jazykové dáta pre OCR (slovenčina + angličtina)

paru -S tesseract-data-slk tesseract-data-eng

Vysvetlenie:
OCR engine potrebuje jazykové balíčky, aby vedel správne rozpoznať znaky.

  • slk = slovenčina
  • eng = angličtina
    Môžeš pridať aj ďalšie jazyky podľa potreby (deu, ces, …).

:white_check_mark: 3. Skontroluj, že ocrmypdf funguje

ocrmypdf --version

Vysvetlenie:
Týmto overíš, že je nástroj nainštalovaný a pripravený na použitie.


:white_check_mark: 4. Spusti konverziu problematického PDF

ocrmypdf --force-ocr --language slk+eng "vstupny_subor.pdf" "vystupny_subor_fixed.pdf"

Príklad:

ocrmypdf --force-ocr --language slk+eng Invoice_5225002407.PDF Invoice_5225002407_fixed.pdf
Parameter Význam
--force-ocr Ignoruje existujúci text a vygeneruje nový text layer
--language slk+eng OCR rozpoznáva slovenčinu aj angličtinu
vstupny_subor.pdf Originálny PDF súbor
vystupny_subor_fixed.pdf Nový PDF súbor pripravený pre Paperless

:white_check_mark: 5. Nahraj výsledný .pdf do Paperless-ngx

  • Použi webové rozhranie Paperless-ngx
    alebo
  • Vlož súbor do adresára consume, ak používaš automatické spracovanie dokumentov.

:repeat_button: Bonus: Automatická oprava viac súborov naraz (voliteľné)

Ak chceš hromadne opraviť všetky PDF v aktuálnom adresári (vo fish shell):

for file in *.pdf
    set name (string replace .pdf "" $file)
    ocrmypdf --force-ocr --language slk+eng "$file" "$name"_fixed.pdf
end

Tento príkaz prejde každý .pdf súbor a vytvorí OCR verziu so suffixom _fixed.