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.
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.
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.
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.
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.
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.
- OCR işlemi ile PDF dosyalarından metin çıkarılır (
OcrPdf.py
) - PO tipine göre uygun işleyici seçilir (
dynamicTxt.py
) - Belge tipi:
onePo.py
: Tek POmultiPo.py
: Çoklu POnonPo.py
: PO’suz içerik
- JSON dosyaları belirlenen klasöre kaydedilir.