Skip to content

omrozmen/OcrExample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧾 PO Belgeleri İşleme Sistemi

Bu proje, PDF veya metin belgelerinden OCR (Optical Character Recognition) kullanarak Satın Alma Siparişi (PO) bilgilerini ayıklayan Python tabanlı bir otomasyon sistemidir. Tedarikçi bilgileri, PO numaraları, ürün detayları gibi veriler işlenir ve yapılandırılmış JSON dosyalarına dönüştürülür.

📁 Proje Bileşenleri

OcrPdf.py – OCR ve Görüntü İşleme

Bu dosya, PDF belgelerinden görüntü çıkarımı ve OCR işlemini yönetir.

  • OCR sonrası metni temizler, gereksiz karakterleri ayıklar.

  • Görüntü işleme uygular (adaptive threshold + median blur).

  • Türkçe ve İngilizce OCR desteği sağlar.

  • 🔄 Tüm PDF klasörünü tarayarak sayfa sayfa OCR işlemi yapar.

    • Sayfa boşsa veya çok az metin içeriyorsa OCR yapılır.

dynamicTxt.py – PO Tipi Tespiti ve Yönlendirme

Metin dosyasının yapısını analiz ederek uygun işleyici modülüne yönlendirir.

  • Metinde geçen PO numaralarını bulur.

  • PO sayısına göre belge tipini belirler: onePo, multiPo, nonPo.

  • Belirlenen PO tipine göre ilgili modülü dinamik olarak yükler.

  • 👟 Betik doğrudan çalıştırılırsa işlem otomatik başlatılır.


onePo.py – Tek PO’lu Belgeler İçin İşleyici

Belgede yalnızca bir adet PO bulunan durumlar için kullanılır.

  • 🏢 Tedarikçi bilgilerini metinden yakalar.
  • 🔢 PO numarasını tanımlar.
  • 📦 Ürün bilgilerini (açıklama, miktar, birim fiyat, toplam) çıkarır.
  • 🧾 PO numarasına göre ürünleri gruplar.
  • 📤 JSON verisi oluşturur ve diske yazar.

multiPo.py – Çoklu PO’lu Belgeler İçin İşleyici

Aynı belgede birden fazla PO bulunduğunda kullanılır.

  • 🧠 Tedarikçi bilgilerini ayrıştırır.
  • 📦 Ürünleri PO numaralarıyla eşleştirir.
  • 🔄 PO bazlı gruplandırma yapar.
  • 🗃️ JSON çıktısı oluşturur ve kaydeder.

nonPo.py – PO Olmayan Belgeler İçin İşleyici

Belge PO içermese bile ürün ve hizmet detaylarını çıkarır.

  • 🏢 Tedarikçi bilgilerini ayıklar.
  • 🔎 Ürün/hizmet satırlarını metin içinden tespit eder.
  • 🧠 PO olmadan ürünleri mantıksal olarak gruplandırır.
  • 📤 JSON verisi üretip dosyaya yazar.

🔄 İş Akışı

  1. OCR işlemi ile PDF dosyalarından metin çıkarılır (OcrPdf.py)
  2. PO tipine göre uygun işleyici seçilir (dynamicTxt.py)
  3. Belge tipi:
    • onePo.py: Tek PO
    • multiPo.py: Çoklu PO
    • nonPo.py: PO’suz içerik
  4. JSON dosyaları belirlenen klasöre kaydedilir.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages