WebSmith

Deneyimli
Katılım
13 Temmuz 2025
Mesajlar
892
Makaleler
1
Çözümler
2
Beğeniler
511
Öncelikle şu paketleri yüklemeniz lazım:

sudo pacman -S hyprshot tesseract tesseract-data-tur tesseract-data-eng

Daha sonrasında, aşağıda vermiş olduğum kodu bilgisayarınızda istediğiniz dizinde ocr-script.sh dosyası oluşturarak içine yapıştırıp; terminalden sudo chmod +x ile yetki vererek oluşturunuz.

Kod:
#!/bin/bash

# --- Ayarlar ---
# Ana dizini tek noktadan yönetelim
BASE_DIR="$HOME/Resimler/hyprshot"
IMAGE_DIR="$BASE_DIR/screenshots"
TEXT_DIR="$BASE_DIR/ocr_outputs"

# Klasörleri oluştur (Sessizce)
mkdir -p "$IMAGE_DIR" "$TEXT_DIR"

# Dosya ismi (Saniye hassasiyeti çakışmayı önler)
TIMESTAMP=$(date +%Y-%m-%d_%H-%M-%S)
FILENAME="ocr_$TIMESTAMP"
IMAGE_PATH="$IMAGE_DIR/$FILENAME.png"

# --- Ekran Görüntüsü Alma ---
# hyprshot çıktısını doğrudan IMAGE_PATH değişkenine yönlendiriyoruz
hyprshot -m region -o "$IMAGE_DIR" -f "$FILENAME.png" --silent

# --- İşleme ve Bildirim ---
if [ -f "$IMAGE_PATH" ]; then
    # OCR İşlemi
    # Not: Tesseract çıktı dosyasına kendisi .txt ekler, o yüzden uzantı yazmıyoruz
    tesseract "$IMAGE_PATH" "$TEXT_DIR/$FILENAME" -l tur+eng --psm 6 2>/dev/null

    # Başarılı bildirimi (Dosya yolunu tıklanabilir formatta veya kısa özetle veriyoruz)
    notify-send "🚀 OCR Tamamlandı" "Metin şuraya kaydedildi:\n$TEXT_DIR/$FILENAME.txt" -i accessories-text-editor
else
    # İptal durumu
    notify-send "⚠️ İşlem İptal Edildi" "Ekran görüntüsü alınamadı." -u low
fi

Şimdi, bu scripti çalıştırdığınız zaman; artık almış olduğunuz ekran görüntüsü Resimler dizininin içinde, hyprshot klasörünün içinde 'screenshots' ve 'ocr_outputs' olarak kaydedilecek. Burada 'ocr-outputs' olanın içinden metni kopyala-yapıştır yapıp kullanabilirsiniz. Çok işlevsel değil, ekrandan seçme yok ama iş görür. Pano yöneticisi kullanmadığım için ona göre ayarlayamadım ama isterseniz siz ayarlayabilirsiniz. Gene isterseniz kopyaladıktan sonra otomatik olarak metin editörü ile açma vesaire yapabilirsiniz; bu temel bir ayar sunmaktadır, basit bir scripttir.