
Tesseract OCR je open-source nástroj, ktorý prevádza obrázky (JPG, PNG) na editovateľný text. Je dostupný pre Linux, Windows a macOS a používa sa cez príkazový riadok alebo programátorské rozhrania (napr. Python). Pre presné fungovanie môže vyžadovať jazykové balíky a dostatok pamäte RAM a miesta na disku. Vhodný je na spracovanie naskenovaných dokumentov, automatizované OCR riešenia a prevod obrázkov na text.
| Parameter | Odporúčanie / Poznámka |
|---|
| Operačný systém | Linux, Windows, macOS (32- alebo 64-bit) |
| CPU | 2 jadrový pre rýchle spracovanie sa odporúča viac |
| RAM | Minimálne 1–2 GB, odporúčané 4 GB+ pri veľkých alebo viacstranových dokumentoch |
| Diskový priestor | Min. 100 MB pre Tesseract a základné jazykové balíky; viac pre veľké dokumenty alebo viaceré jazykové balíky |
| Jazykové balíky | Voliteľné, ale odporúčané pre presné OCR (napr. čeština, angličtina) |
| Prístup k sieti | Nie je povinný, ale môže byť potrebný pri sťahovaní jazykových balíkov |
| Podpora formátov | Obrázky: PNG, JPG, TIFF; PDF (vyžaduje OCRmyPDF alebo ďalšie nástroje) |
Urobíme, ako prvé update
sudo apt update
sudo apt install tesseract-ocr tesseract-ocr-ces python3 python3-pip python3-venv -y
Vytvoríme, ako prvé priečinok pre server
mkdir -p ~/tesseract-server
cd ~/tesseract-server
Vytvoríme virtuálne prostredie
python3 -m venv venv
source venv/bin/activate
Nainštalujeme python balíky
pip install flask pillow pytesseract server.py
Vytvoríme dokument napr.
nano server.py
Vložíme do neho
from flask import Flask, request
import pytesseract
from PIL import Image
import io
app = Flask(__name__)
@app.get("/")
def index():
return '''
<h1>OCR Server</h1>
<form action="/ocr" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit"/>
</form>
'''
@app.post("/ocr")
def ocr():
if "file" not in request.files:
return {"error": "No file uploaded"}, 400
file = request.files["file"]
img = Image.open(io.BytesIO(file.read()))
text = pytesseract.image_to_string(img, lang="ces")
return {"text": text}
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)
Uložíme a spustíme
python3 server.py
Otvoríme webový prehliadač v tvare
http://X.X.X.X:5000

Ak teraz stlačíme CTRL + C, tak program nám prestane fungovať. Aby fungoval, aj naďalej, tak je potrebné mu spustiť proces, aby sa spustil priamo s boot operačného systému
Vytvorme systemd súbor
sudo nano /etc/systemd/system/tesseract-server.service
Do neho vložíme
[Unit]
Description=Tesseract OCR API Server
After=network.target
[Service]
Type=simple
User=ivan
WorkingDirectory=/home/ivan/tesseract-server
ExecStart=/home/ivan/tesseract-server/venv/bin/python3 /home/ivan/tesseract-server/server.py
Restart=always
[Install]
WantedBy=multi-user.target
Našítamea aktivujeme službu
sudo systemctl daemon-reload
sudo systemctl enable tesseract-server
sudo systemctl start tesseract-server
Môžeme skontrolovať stav
sudo systemctl status tesseract-server
