Skip to content

Adobe Reader benzeri PDF görüntüleyici masaüstü uygulaması. C programlama dili, Windows API ve MuPDF kütüphanesi kullanılarak geliştirilmiştir.

License

Notifications You must be signed in to change notification settings

bugratr/pdf_editor

Repository files navigation

📖 PDF Görüntüleyici - Adobe Reader Benzeri Masaüstü Uygulaması

🚀 Windows'ta .exe Oluşturma (Hızlı)

⚡ 3 Adımda .exe Oluşturun:

# 1. Gerekli yazılımları indirin:
#    - w64devkit: https://github.com/skeeto/w64devkit/releases
#    - MuPDF: https://mupdf.com/releases/ (C:\mupdf\ dizinine çıkarın)

# 2. w64devkit.exe çalıştırın (terminal açılır)

# 3. PDF Viewer dizininde:
quick_build.bat

Sonuç: pdf_viewer.exe dosyası oluşur! 🎉


🎯 Özellikler

🔍 PDF Görüntüleme

  • ✅ Hızlı PDF render (MuPDF engine)
  • ✅ Smooth zoom (Mouse wheel + Ctrl)
  • ✅ Sayfa navigasyon (←→ tuşları, Toolbar)
  • ✅ Fit to page/width (Otomatik boyutlandırma)

🎨 Gelişmiş Annotation Sistemi

  • 9 farklı araç: İşaretçi, El, Metin seçimi, Vurgulama, Kalem, Dikdörtgen, Daire, Ok, Not ekleme
  • Renk paleti: 9 hazır renk + custom renk desteği
  • Annotation yönetimi: Save/Load (.ann format), Düzenleme, Silme
  • Çizgi kalınlığı: 1-5px ayarlanabilir

💻 Modern Windows UI

  • Adobe Reader benzeri arayüz - Tanıdık layout
  • Dual toolbar sistemi: Ana araçlar + Gelişmiş annotation araçları
  • Context menüler: Sağ tık ile hızlı erişim
  • Drag & Drop: PDF dosyalarını sürükleyip bırakın
  • Keyboard shortcuts: Ctrl+O, Ctrl+P, Ctrl+Wheel vb.

📁 Dosya İşlemleri

  • PDF açma: File dialog + Drag&drop + Command line
  • Yazdırma: Windows print dialog ile tam entegrasyon
  • Annotation kaydetme: .ann formatında export/import
  • Metin kopyalama: Seçili metni clipboard'a kopyala

🛠️ Teknik Detaylar

🏗️ Mimari

📁 PDF Viewer
├── 🎯 main.c (1,070+ lines) - Windows UI & Event handling  
├── 🔧 pdf_viewer.c (2,100+ lines) - PDF engine & Annotations
├── 📋 pdf_viewer.h (260+ lines) - API definitions
├── 🎨 resource.rc/h - Windows resources & icons
└── 📦 Makefile - Build system

⚙️ Teknolojiler

  • 🔻 Language: C99 (Modern C standards)
  • 🖼️ PDF Engine: MuPDF (Ultra-fast rendering)
  • 💻 UI Framework: Native Windows API
  • 🔨 Compiler: MinGW-w64 / TDM-GCC
  • 📄 License: MIT (MuPDF requires separate licensing)

📊 Performans

  • 🚀 Startup: < 1 saniye
  • 📖 PDF Load: < 2 saniye (orta boyut PDF)
  • 🎯 Memory: ~50MB (boş), ~100MB (büyük PDF)
  • 💾 Binary Size: ~2-5MB (optimized build)

🔧 Geliştirici Rehberi

📋 Build Requirements

✅ Windows 7+ (32/64-bit)
✅ MinGW-w64 compiler
✅ GNU Make
✅ MuPDF kütüphanesi  
⚡ PowerShell (icon generation)

🚀 Hızlı Build

quick_build.bat    # Otomatik everything!

🔧 Manuel Build

# Setup kontrolü
setup.bat

# Icon oluştur (opsiyonel)  
cd assets && create_icons.bat && cd ..

# Compile
make clean
make release

# Test
pdf_viewer.exe sample.pdf

🐛 Debug Build

make debug         # Debug symbols ile derle
gdb pdf_viewer.exe # Debug mode

📖 Kullanım Rehberleri

Rehber İçerik Süre
📄 QUICK_START.md 5 dakikalık hızlı başlangıç ⚡ 5 min
🔧 WINDOWS_BUILD.md Detaylı Windows build rehberi 🛠️ 15 min
📚 MUPDF_SETUP.md MuPDF kurulum ve konfigürasyon ⚙️ 10 min
📊 BUILD_STATUS.md Proje durumu ve test raporu 📋 3 min

🎯 Öne Çıkan Özellikler

🎨 Professional Annotation System

🖱️ Mouse Tools:
  ├── 👆 Pointer - Seçim ve hareket
  ├── ✋ Hand - Sürükle ve kaydır  
  ├── 📝 Text Select - Metin seçimi
  ├── 🔍 Area Select - Alan seçimi
  └── 📝 Annotation - Not ekleme

✏️ Drawing Tools:
  ├── 🖊️ Pen - Serbest çizim
  ├── 🟨 Highlight - Metin vurgulama
  ├── ⬜ Rectangle - Dikdörtgen
  ├── ⭕ Circle - Daire  
  └── ➡️ Arrow - Ok işareti

🎨 Visual Options:
  ├── 🌈 9 preset colors (red, green, blue...)
  ├── 📏 5 line widths (1-5px)
  └── 💾 Save/Load system (.ann format)

⌨️ Keyboard Shortcuts

📁 File Operations:
  Ctrl+O - PDF Aç
  Ctrl+P - Yazdır
  Ctrl+S - Annotation Kaydet

🔍 Navigation:
  ←→ - Sayfa değiştir
  Home/End - İlk/Son sayfa
  Ctrl + Mouse Wheel - Zoom

🎯 Tools:
  Ctrl+A - Tümünü seç
  Ctrl+C - Kopyala
  Esc - İptal/Clear

📦 Dağıtım

📤 Standalone .exe (Tavsiye)

# Static linking ile derle
make LDFLAGS="-static"

# DLL'leri kopyala (gerekirse)
copy C:\mupdf\bin\*.dll .

# Test et
pdf_viewer.exe sample.pdf

💿 Installer Paketi

# NSIS ile installer oluştur
makensis installer.nsi  # (yakında eklenecek)

🤝 Katkıda Bulunma

🐛 Bug Reports

  • GitHub Issues kullanın
  • Log dosyalarını ekleyin
  • Repro adımlarını belirtin

💡 Feature Requests

  • Detaylı açıklama yapın
  • Use case'leri paylaşın
  • Mock-up'lar hoş olur

👨‍💻 Code Contributions

git clone [repository]
cd pdf_editor
quick_build.bat        # Test build
# Make changes...
# Submit PR

📄 Lisans

MIT License - Açık kaynak, ticari kullanım OK

⚠️ Not: MuPDF kütüphanesi AGPL v3 lisansındadır. Ticari kullanım için Artifex Software'den lisans gerekebilir.


🔗 Linkler


💡 Gelecek Planları

  • 🔍 Full-text search - PDF içerik arama
  • 🎨 Themes - Dark mode ve custom themes
  • 📱 Responsive UI - Farklı çözünürlük desteği
  • 🌐 Cross-platform - macOS ve Linux port
  • 📊 Advanced Export - Native PDF annotation embedding
  • 🔐 Security - Password-protected PDF support

🎯 Adobe Reader kalitesinde, native Windows performansı!

Son güncelleme: 2024 - PDF Viewer Team

About

Adobe Reader benzeri PDF görüntüleyici masaüstü uygulaması. C programlama dili, Windows API ve MuPDF kütüphanesi kullanılarak geliştirilmiştir.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published