Skip to content
alorakPublic

Latest commit

 

History

85 Commits

Folders and files

Repository files navigation

PDF — hızlı ve yerel PDF okuyucu

Tarayıcıda çalışan sade, hızlı ve gizliliğe odaklı bir PDF görüntüleyici. Belgeler bilgisayarından seçilir, sunucuya yüklenmez. Üretim paketi PDF.js'i ve worker dosyasını içerir; uygulama açıldıktan sonra CDN bağlantısı gerekmez.

Özellikler

  • Open butonuyla bilgisayardan PDF seçme; sürükle-bırak veya Ctrl/⌘ + O da desteklenir.
  • Dikey / yatay sınırsız sayfa akışı arasında geçiş.
  • %20–%600 hassas zoom: +/−, kaydırıcı, elle yüzde yazma ve Ctrl/⌘ + fare tekerleği.
  • Genişliğe sığdır, yüksekliğe sığdır veya sayfanın tamamını sığdır; pencere değiştiğinde yeniden hesaplanır.
  • Küçük resimler solda veya altta; Ayarlar'dan değiştirilebilir ya da gizlenebilir.
  • Sayfa numarasıyla, önceki/sonraki butonlarıyla ve küçük resimlerle gezinti.
  • Sol hamburger menüsünden en fazla 10 çalışma alanı (workspace) oluşturma ve aralarında geçiş yapma.
  • PDF metnini seçip sağ tıklayarak Kopyala veya Workspace'e kaydet işlemleri.
  • Seçilen metinler her workspace'e ayrı olarak localStorage'da kaydedilir; dosya adı ve sayfa bilgisiyle listelenir, tek tek kopyalanabilir/silinebilir.
  • Open PDF işlemi onay ister. Yeni PDF başarıyla açılınca yalnızca aktif workspace'in eski kayıtları silinir; diğer workspaceler ve görünüm tercihleri korunur.
  • Tercihler ve kaydedilen metinler localStorage'da tutulur. PDF dosyaları tarayıcı oturumu boyunca bellekte tutulur, kalıcı olarak kaydedilmez; sayfa yenilenince PDF yeniden seçilmelidir.
  • PDF.js worker, görünür alan bazlı çizim, iptal edilebilir işler ve canvas bellek sınırı.

Çalıştırma

Node.js 22+ gerektirir (Node.js 24 önerilir).

npm install
npm run dev

Vite'ın verdiği adrese gidin. Üretim paketi ve testler:

npm test
npm run build
npm run preview

Statik çıktı dist/ klasöründedir. ES module ve worker güvenlik kısıtları nedeniyle doğrudan file:// ile açmak yerine yerel HTTP sunucusu veya GitHub Pages kullanılmalıdır.

GitHub Pages

.github/workflows/pages.yml testleri çalıştırır ve Pages'e dağıtımı yalnızca PR birleştirilince (ya da elle başlatılınca) yapar; güvenilir main branch'ini kullanır. Depoda Settings → Pages → Build and deployment → Source: GitHub Actions seçilmelidir. Çıktı yolu /pdf/ olarak ayarlanmıştır.

Yayında CSS/JS görünmüyorsa

Önce GitHub Pages ayarlarında yayın kaynağının GitHub Actions olduğunu doğrulayın. GitHub'ın otomatik pages build and deployment (Jekyll) işi, Vite ile derlenmiş dist/ yerine depo kaynak dosyalarını yayımlarsa tasarım bozulur. Bu işin başarılı olması, PDF görüntüleyicinin doğru yayımlandığı anlamına gelmez.

Actions → Build and publish PDF viewer → Run workflow → main üzerinden yeni bir çalıştırma başlatın. Mevcut bir çalıştırmanın Re-run jobs seçeneği aynı github-pages artefaktını tekrar kullanabildiğinden, bu workflow her denemeye farklı bir artefakt adı verir. Son yayın başarılı olduktan sonra sayfayı önbelleği atlayarak yenileyin.

Klavye kısayolları

Kısayol İşlem
Ctrl/⌘ + O PDF aç
+ / - Yakınlaştır / uzaklaştır
0 Sayfanın tamamını sığdır
PageDown / PageUp Sonraki / önceki sayfa
Home / End İlk / son sayfa
Esc Ayarları / menüleri kapat

Kapsam

İlk sürüm okuma performansına odaklanır; OCR, not ekleme, metin arama, metin seçimi ve PDF düzenleme içermez. Çok yüksek büyütmelerde tarayıcı belleğini korumak için çizim çözünürlüğü sınırlandırılır. Parolalı PDF'ler için parola girme ekranı henüz yoktur.

PDF işleme motoru: Mozilla PDF.js (Apache-2.0).

Contributors

Languages