Návod: Konverzia PDF do OCR formátu pre Paperless-ngx na CachyOS
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.
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ť.
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.
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činaeng
= angličtina
Môžeš pridať aj ďalšie jazyky podľa potreby (deu
,ces
, …).
3. Skontroluj, že ocrmypdf funguje
ocrmypdf --version
Vysvetlenie:
Týmto overíš, že je nástroj nainštalovaný a pripravený na použitie.
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 |
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.
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ý
_fixed
.