Skip to content

chedevlooper-creator/pdf_master

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDF Master

Kapsamlı PDF işleme eklentisi - PDF belgelerini okuyun, düzenleyin, açıklamalar ekleyin ve OCR ile tarayın.

🎯 Genel Bakış

PDF Master, PDF belgeleriyle çalışmak için tasarlanmış kapsamlı bir araç seti sunar. Okuma, düzenleme, açıklama ekleme ve OCR işlevlerini tek bir eklentide birleştirir.

📦 Kurulum Gereksinimleri

# Temel bağımlılıklar
pip install PyMuPDF Pillow

# OCR için Tesseract OCR motoru
# Ubuntu/Debian:
apt-get install tesseract-ocr tesseract-ocr-tur
# macOS:
brew install tesseract tesseract-lang
# Windows:
# https://github.com/UB-Mannheim/tesseract/wiki adresinden indirin

🛠️ Araçlar

PDF Reader (pdf_reader.py)

PDF belgelerinden içerik okuma ve çıkarma araçları.

Fonksiyon Açıklama
read_pdf PDF'deki tüm metni çıkarır
get_pdf_info Metadata bilgilerini alır (sayfa sayısı, başlık, yazar vb.)
extract_images PDF sayfalarından görselleri çıkarır
extract_tables Tabloları yapılandırılmış veri olarak çıkarır
search_text PDF'de metin arar ve sayfa numaralarını döndürür

Kullanım Örneği:

# PDF bilgilerini alma
pdf_info = await get_pdf_info("/path/to/document.pdf")
# Çıktı: {'pages': 10, 'title': 'Belge', 'author': 'Yazar'}

# Metin arama
results = await search_text("/path/to/document.pdf", "arama terimi")
# Çıktı: [{'page': 1, 'text': '...', 'bbox': (x, y, w, h)}]

PDF Editor (pdf_editor.py)

PDF düzenleme ve manipülasyon araçları.

Fonksiyon Açıklama
replace_text PDF'deki belirli metni değiştirir
delete_pages Sayfaları PDF'den siler
merge_pdfs Birden fazla PDF'i birleştirir
split_pdf PDF'i ayrı dosyalara böler
rotate_pages Belirli sayfaları döndürür
resize_pages Sayfa boyutlarını değiştirir

Kullanım Örneği:

# PDF birleştirme
await merge_pdfs(
    ["doc1.pdf", "doc2.pdf", "doc3.pdf"],
    output_path="birlesik.pdf"
)

# Sayfa döndürme
await rotate_pages("/path/to/doc.pdf", pages=[1, 3], rotation=90)

# PDF bölme
await split_pdf("/path/to/doc.pdf", ranges=[(1,3), (4,6)])

PDF Writer (pdf_writer.py)

PDF'e açıklamalar, notlar ve görseller ekleme araçları.

Fonksiyon Açıklama
add_text_annotation Belirli sayfa konumuna metin açıklaması ekler
add_stamp Sayfalara damga/filigran ekler
add_image PDF'e görsel ekler
highlight_text Belirli metni vurgular
add_link Köprüler ekler
draw_shapes Dikdörtgen, daire, çizgi gibi şekiller çizer

Kullanım Örneği:

# Metin açıklaması ekleme
await add_text_annotation(
    "/path/to/doc.pdf",
    text="Önemli not",
    page=1,
    position=(100, 100),
    font_size=14
)

# Filigran ekleme
await add_stamp("/path/to/doc.pdf", text="GİZLİ", opacity=0.3)

# Metin vurgulama
await highlight_text("/path/to/doc.pdf", search_text="vurgulanacak metin", page=1)

PDF OCR (pdf_ocr.py)

Taranmış belgeler için OCR (Optik Karakter Tanıma) araçları.

Fonksiyon Açıklama
ocr_pdf Tüm PDF'e OCR uygular
ocr_page Belirli sayfaya OCR uygular
ocr_image Tek görsele OCR uygular
get_ocr_text OCR metnini konum koordinatlarıyla döndürür

Kullanım Örneği:

# Tüm PDF'e OCR uygulama
ocr_result = await ocr_pdf("/path/to/scanned.pdf", language="tur")

# Belirli sayfaya OCR uygulama
ocr_result = await ocr_page("/path/to/scanned.pdf", page_number=1, language="tur")

# OCR metnini konum bilgisiyle alma
text_with_coords = await get_ocr_text("/path/to/scanned.pdf", page=1)

📁 Dosya Yapısı

pdf_master/
├── plugin.yaml              # Eklenti manifestosu
├── README.md                # Bu dokümantasyon
├── LICENSE                  # MIT lisansı
├── default_config.yaml      # Varsayılan ayarlar
├── tools/
│   ├── pdf_reader.py       # PDF okuma araçları
│   ├── pdf_editor.py       # PDF düzenleme araçları
│   ├── pdf_writer.py       # PDF yazma/açıklama araçları
│   └── pdf_ocr.py          # OCR araçları
└── helpers/
    └── pdf_helpers.py      # Paylaşılan yardımcı fonksiyonlar

⚙️ Yapılandırma

default_config.yaml dosyasından yapılandırılabilir ayarlar:

Ayar Açıklama Varsayılan
pdf.default_dpi Sayfa işleme DPI değeri 300
pdf.image_quality Görüntü kalitesi (1-100) 85
ocr.default_language OCR dili tur
ocr.accuracy Tanıma hassasiyeti high
annotations.default_font Varsayılan yazı tipi Helvetica
annotations.default_color Varsayılan açıklama rengi [255, 0, 0]

🔍 Desteklenen PDF Özellikleri

  • Okuma: Metin, görseller, tablolar, meta veriler, metin arama
  • Düzenleme: Metin değiştirme, sayfa silme/birleştirme/bölme, döndürme, yeniden boyutlandırma
  • Açıklamalar: Metin notları, filigranlar, vurgulamalar, köprüler, şekiller
  • OCR: Taranmış belgelerden metin çıkarma, çoklu dil desteği

🐛 Hata Yönetimi

Tüm araçlar hata durumlarını uygun şekilde işler:

  • Geçersiz dosya yolu durumunda açık hata mesajları
  • Bozuk PDF dosyaları için hata yakalama
  • OCR başarısızlıklarında alternatif yaklaşımlar
  • Bellek sınırı aşımlarında graceful degradation

📄 Lisans

Bu proje MIT Lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.

🤝 Katkıda Bulunma

Katkıda bulunmak için lütfen bir pull request açın veya issue oluşturun.

About

Agent Zero plugin: PDF Master - Read, edit, annotate, and OCR PDF documents

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages