Kapsamlı PDF işleme eklentisi - PDF belgelerini okuyun, düzenleyin, açıklamalar ekleyin ve OCR ile tarayın.
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.
# 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 indirinPDF 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 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'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)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)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
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] |
- 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
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
Bu proje MIT Lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
Katkıda bulunmak için lütfen bir pull request açın veya issue oluşturun.