Skip to content

Repository files navigation

Exxe Office

Word (.docx), Excel (.xlsx / .csv), PowerPoint (.pptx) ve düz metin dosyalarını görüntüleyen ve düzenleyen, PDF'i görüntüleyen masaüstü uygulaması. Electron tabanlı, tek pencerede sekmeli çalışır, arayüz tamamen Türkçedir. Windows, macOS ve Linux için paketlenir.

Microsoft Office kurulu olmasa da çalışır. Ürettiği dosyalar gerçek Word, Excel ve PowerPoint ile açılıp doğrulanmıştır (bkz. Testler).


Kurulum ve çalıştırma

npm install          # bağımlılıklar
npm run icon         # assets/icon.png + icon.ico üretir (bir kez yeterli)
npm start            # uygulamayı çalıştırır

Kurulabilir sürüm üretmek için:

npm run dist             # Windows: NSIS kurulumu + taşınabilir exe
npm run dist:portable    # Windows: yalnızca taşınabilir tek dosya exe
npm run dist:linux       # Linux: AppImage + .deb
npm run dist:mac         # macOS: .dmg + .zip (x64 ve Apple Silicon)

Linux paketi Windows'tan da üretilebilir; macOS paketi yalnızca bir Mac'te üretilebilir (Apple'ın imzalama araçları başka işletim sisteminde çalışmaz).

Hazır sürümü indirme

Yayınlanan sürümler: https://github.com/minerd/exxe/releases

  • KurulumExxe-Office-Setup-<sürüm>.exe: kurulum sırasında klasör seçilebilir, masaüstü ve başlat menüsü kısayolu oluşturur, .docx .xlsx .pptx .pdf .csv .txt uzantılarını uygulamayla ilişkilendirir.
  • TaşınabilirExxeOffice-Portable-<sürüm>.exe: kurulum gerektirmez, tek dosya.

Uygulama kurulu sürümde açılışta güncelleme denetler; yeni sürüm bulursa arka planda indirir ve kurmadan önce sana sorar (açık belgelerini kaybetmemek için).

Uygulama dijital sertifikayla imzalanmadığı için Windows SmartScreen ilk çalıştırmada uyarı gösterebilir: Ek bilgi → Yine de çalıştır. macOS'ta da aynı sebeple Gatekeeper uyarı verir: Sağ tık → Aç.

macOS ve Linux'ta farklar

Uygulamanın tamamı üç platformda da aynı çalışır; yalnız işletim sistemi görgü kuralları farklıdır:

  • macOS: kısayollarda Ctrl yerine (menüler ve yardım penceresi bunu kendisi gösterir), ilk menü uygulama adını taşır (Hakkında / Gizle / Çık orada), pencereyi kapatmak uygulamayı kapatmaz — Dock'tan yeniden açılır.
  • Linux: AppImage çalıştırılabilir dosyadır (chmod +x), .deb paketi masaüstü girdisini ve dosya türü ilişkilendirmelerini kurar.
  • Yazı tipleri: Belgeler Calibri ile yazılır; bu yazı tipi yalnızca Windows'ta bulunur. Öteki platformlarda ölçü uyumlu Carlito (varsa), yoksa sistem yazı tipi kullanılır — metin akışı korunur, harf şekilleri az miktarda değişebilir. Linux'ta fonts-crosextra-carlito paketini kurmak birebir görünüm verir.
  • Yazım denetimi işletim sisteminin sözlüğünü kullanır; Türkçe sözlük yüklü değilse denetim sessizce kapanır.

Neler yapabilir

Word (.docx)

Metin biçimi Kalın, italik, altı/üstü çizili, üst/alt simge, yazı tipi, punto, yazı rengi, vurgu rengi, harf düzeni (BÜYÜK / küçük / Her Sözcük / Cümle — Türkçe i-İ kurallarıyla)
Paragraf Başlık 1–4, normal, alıntı, kod; sola/ortaya/sağa/iki yana hizalama; paragraf penceresi: satır aralığı, paragraf öncesi/sonrası boşluk, sol-sağ ve ilk satır girintisi (asılı girinti dahil), gölgelendirme
Listeler Madde işaretli ve numaralı, iç içe (9 düzeye kadar)
Tablolar Ekleme, hücre birleştirme (yatay/dikey), kenarlık, hücre dolgusu, sütun genişliği, hücre içi hizalama, Tab ile hücre gezinme
Nesneler Resim ekleme (dosyadan veya panodan yapıştırarak), metin kutusu / şekil (dikdörtgen, yuvarlatılmış, elips; dolgu ve kenarlık rengi), köprü, sayfa sonu, simge ekleme (₺ € © → ½ α … 60'tan fazla karakter)
Sayfa Üstbilgi ve altbilgi (metin, hizalama, otomatik sayfa numarası); sayfa yapısı: kağıt boyutu (A4, A5, A3, Letter, Legal, özel), dikey/yatay yön, kenar boşlukları (hazır takımlar veya elle, cm)
Gözden geçirme Yorumlar (yan panelde okunur, eklenir, silinir), değişiklik izleme işaretleri (eklenen altı çizili, silinen üstü çizili) ve tümünü kabul et / reddet
Diğer Bul ve değiştir, yakınlaştırma, kelime/karakter sayacı, PDF dışa aktarma, yazdırma, A4 sayfa görünümü

Excel (.xlsx, .csv, salt okunur .xls / .xlsb)

Izgara Sanal kaydırma (büyük sayfalarda akıcı), sütun/satır boyutlandırma, bölmeleri dondurma, hücre birleştirme
Düzenleme Hücre içi düzenleme, formül çubuğu, çoklu seçim, sürükleyerek seçim, satır/sütun ekleme-silme-gizleme/gösterme, tek sütuna göre sıralama ve üç sütuna kadar çok anahtarlı sıralama
Veri Kendi verinize filtre kurma / kaldırma, değere göre süzme, yinelenenleri kaldırma, metni sütunlara bölme, Hedef Ara (formül sonucundan geriye doğru değer bulma)
Yazdırma Yazdırma alanı, her sayfada yinelenen başlık satırları, dikey/yatay yön, bir sayfa genişliğine sığdırma
Ek bilgi Hücre açıklaması (ekle / düzenle / sil; köşe üçgeniyle gösterilir), köprü ekleme (Ctrl+tıkla tarayıcıda açar)
Dolgu tutamacı Seçimin sağ alt köşesinden sürükleyerek doldurma: aritmetik seri (1, 3 → 5, 7, 9), tarih serisi, ay ve gün adları, "Ürün 1 → Ürün 2", formüllerin göreli kaydırılması
Biçim Kalın/italik/altı çizili, yazı tipi ve punto, yazı ve dolgu rengi, kenarlıklar, yatay ve dikey hizalama, hücre girintisi, metin kaydırma, sayı biçimleri (para ₺/$/€, yüzde, tarih, bilimsel, metin) ve kendi yazdığınız özel biçim kodu (0,00 "kg" gibi, canlı önizlemeli)
Dosyadan gelen kurallar Koşullu biçimlendirme (hücre kuralları, metin kuralları, formül, ilk/son N, ortalama üstü, yinelenen, renk ölçeği, veri çubuğu), tablo stilleri (başlık + şeritli satır), veri doğrulama açılır listesi (Alt+↓), otomatik filtre düğmeleri ve değere göre süzme
Formüller 140'tan fazla fonksiyon; döngüsel başvuru koruması; çoklu sayfa başvurusu (Sayfa2!A1)
Grafikler Dosyadaki grafikler çizilir (sütun, çubuk, çizgi, alan, pasta, halka); seçimden yeni grafik oluşturma ve kaldırma — oluşturulan grafik canlı hücrelere bağlı olarak dosyaya yazılır
Özet tablo Seçimden satır/sütun alanına göre gruplayıp toplam, sayı, ortalama, en büyük, en küçük hesaplar; sonuç yeni bir sayfaya yazılır
Diğer Çoklu sayfa (ekle/çoğalt/yeniden adlandır/sil), pano (Excel ile karşılıklı kopyala-yapıştır), bul ve değiştir, seçim istatistikleri (toplam/ortalama/en az/en çok), geri al–yinele

PowerPoint (.pptx)

Slaytlar Ekleme (başlık / başlık+içerik / boş düzen), çoğaltma, silme, sürükleyerek sıralama, küçük resimli slayt paneli
Metin Metin kutusu ekleme, yerinde düzenleme (çift tıklama), kalın/italik/altı çizili, yazı tipi, punto, yazı rengi, hizalama, madde işaretli ve numaralı liste, 9 düzeye kadar girinti
Nesneler Resim ekleme, tablo ekleme ve hücre düzenleme, şekil ekleme (dikdörtgen, yuvarlatılmış dikdörtgen, elips, üçgen, eşkenar dörtgen, ok, yıldız, çizgi, oklu çizgi — içine metin yazılabilir), şekil dolgusu, öne getir / arkaya gönder, sürükleyerek taşıma ve köşeden boyutlandırma, ok tuşlarıyla kaydırma
Slayt gösterisi F5 ile tam ekran sunum: ok tuşları/tıklama ile gezinme, N konuşmacı notları, B/W ekranı karartma-beyazlatma, Esc çıkış
Tasarım Asıl slayt tasarımı: arka plan, metin ve vurgu renkleri, başlık/gövde yazı tipi ve puntosu — sunumun temasına yazılır, PowerPoint'te asıl slayt olarak görünür
Diğer Slayt arka plan rengi (tek slayt veya tümü), konuşmacı notları, bul ve değiştir, geri al–yinele, pencereye sığdır, PDF dışa aktarma, yazdırma

Düz metin (.txt, .log, .md, .json, .xml, .ini, .yml)

Kodlama otomatik algılanır (BOM, UTF-8, UTF-16, eski Türkçe ANSI/Windows-1254). Satır numarası, satır kaydırma, satır/sütun göstergesi, satır sonu (CRLF/LF) ve kaydetme kodlaması (UTF-8, BOM'lu UTF-8) seçimi, tarih-saat ekleme, bul ve değiştir.

PDF (.pdf) — salt okunur

Chromium'un yerleşik görüntüleyicisiyle açılır: sayfa gezinme, yakınlaştırma, arama ve yazdırma görüntüleyicinin kendi araçlarıyla yapılır. Sayfa içeriği düzenlenemez; "Kopyasını kaydet" ile dosyanın kopyası oluşturulabilir.

Sayfa düzeyinde araçlar vardır ve hepsi yeni bir dosya üretir, açık dosyaya dokunmaz: başka PDF'lerle birleştirme, sayfa ayıklama (1-3,7,10-), tüm sayfaları döndürme ve sayfaları düzenleme — istenmeyen sayfaları çıkarma ve sırayı değiştirme. Sayfa düzenleme listesi küçük resim göstermez, sayfa numaralarıyla çalışır.

Formül yazımı. Argüman ayracı olarak hem , hem ; kabul edilir; ondalık ayracı . olmalıdır (=ROUND(3.14;1)). Fonksiyon adları Türkçe yazılabilir — TOPLA, EĞER, DÜŞEYARA, EĞERSAY, ORTALAMA, ÇOKETOPLA gibi ~70 karşılık tanınır. Dosyaya kaydederken hepsi otomatik olarak İngilizce ada ve , ayracına çevrilir; bu, dosya biçiminin zorunlu kıldığı tek gösterimdir.


Klavye kısayolları

F1 tuşu uygulama içinde tam listeyi gösterir. Sık kullanılanlar:

Kısayol İşlev
Ctrl+N / Ctrl+Shift+N Yeni Word / Excel belgesi
Ctrl+Alt+N / Ctrl+Alt+T Yeni sunum / metin belgesi
Ctrl+O · Ctrl+S · Ctrl+Shift+S Aç · Kaydet · Farklı kaydet
Ctrl+F · Ctrl+P · Ctrl+W Bul ve değiştir · Yazdır · Sekmeyi kapat
Ctrl+Tab · Ctrl+1…9 Sekmeler arası geçiş
Ctrl+D · Ctrl+± Koyu/açık tema · Yakınlaştırma
F2 (Excel) Hücreyi düzenle
Ctrl+Ok (Excel) Dolu alanın kenarına atla
F5 · Shift+F5 (Sunum) Slayt gösterisi · Bu slayttan başlat
Ctrl+M · Ctrl+Shift+D (Sunum) Yeni slayt · Slaydı çoğalt
PageUp / PageDown (Sunum) Önceki / sonraki slayt
Çift tıklama veya F2 (Sunum) Metin kutusunu düzenle (Esc ile çık)

Dosyaları pencereye sürükleyip bırakarak da açabilirsiniz.


Toplu araçlar

Adres-mektup birleştirme

Word belgesine {{Ad}}, {{Soyad}} gibi yer tutucular yaz, şeritten birleştirme düğmesine bas ve sütun başlıkları bu adlarla eşleşen bir Excel/CSV dosyası seç. Çıktı üç biçimde alınabilir: tek belgede (her kayıt yeni sayfada), her kayıt için ayrı .docx, ya da her kayıt için ayrı PDF. Veride karşılığı olmayan alanlar boş bırakılır ve birleştirmeden önce uyarı verilir.

Belge karşılaştırma

Word görünümünde karşılaştırma düğmesi, açık belgeyi seçtiğin başka bir .docx ile paragraf paragraf karşılaştırır; eklenen ve silinen paragrafları renkli listeler. Karşılaştırma metin düzeyindedir, biçim farklarını kapsamaz.

Excel'den sunum

Excel'de bir aralık seçip sunum düğmesine bastığında başlık slaydı ve tablo slaytlarından oluşan yeni bir sunum açılır (sayfa başına 10 satır).

Komut satırından toplu dönüştürme

node tools/convert.js "C:\Belgeler\*.docx" --to pdf
node tools/convert.js "C:\Belgeler" --to txt --out "C:\cikti"
node tools/convert.js rapor.xlsx --to csv --overwrite
Kaynak Hedef
.docx pdf, txt
.pptx pdf, txt
.xlsx pdf, csv
.csv xlsx

Girdi olarak dosya, klasör veya joker (*.docx) verilebilir. Özgün dosyalara yalnızca okuma erişilir; --overwrite verilmedikçe var olan çıktının üzerine yazılmaz.


Hata günlüğü

Beklenmedik bir hata olursa kaydı %APPDATA%\Exxe Office\gunlukler\ altına yazılır. Yardım → Hata Günlüğünü Göster menüsü dosyayı doğrudan açar. Günlüğe yalnızca hata metni ve sürüm bilgisi girer; belgelerinizin içeriği yazılmaz. 14 günden eski kayıtlar kendiliğinden silinir.

Hata bildirimi

Kurulu sürümde bu kayıtlar aynı zamanda geliştiriciye gönderilir; böylece çökmeler siz bildirmeden görülür ve düzeltilir. Gönderilen bilgi günlüğe yazılanla aynıdır: hata metni, yığın izi, uygulama sürümü, işletim sistemi ve kuruluma özel rastgele bir kimlik. Belgelerinizin içeriği, dosya adları ve klasör yollarınız gönderilmez (yollar gönderim öncesi maskelenir). Ağ yoksa hiçbir uyarı çıkmaz; gönderim başarısızlığı uygulamayı etkilemez.

Kapatmak isterseniz uygulamayı EXXE_HATA_GONDER=0 ortam değişkeniyle başlatın.


Otomatik kurtarma

Kaydedilmemiş belgeler 25 saniyede bir arka planda taslak olarak diske yazılır. Uygulama çökerse veya bilgisayar beklenmedik şekilde kapanırsa, bir sonraki açılışta kurtarma teklif edilir ve belgeler sekme olarak geri gelir. Belge kaydedildiğinde, sekmesi kapatıldığında veya uygulama normal şekilde kapatıldığında taslak silinir.


Desteklenmeyenler

Bunlar bilinçli olarak kapsam dışıdır; dosyayı kaydederken veri kaybına yol açabilecekleri için burada açıkça belirtiliyor:

Var olan bir dosyayı kaydederken uygulama özgün paketi korur ve yalnızca değiştirdiğiniz bölümü yeniden yazar. Bu sayede aşağıdakiler düzenlemediğiniz sürece dosyada kalır: Word'de üstbilgi/altbilgi, dipnot, tema, yazı tipi ve belge ayarları; PowerPoint'te tema, asıl slayt, düzenler, geçişler, gömülü yazı tipleri ve dokunmadığınız slaytların tamamı (grafikleri dahil). Düzenlediğiniz slaytta bile grafik ve SmartArt çerçeveleri taşınır.

Excel'de grafikler, koşullu biçimlendirme, veri doğrulama, tablolar, açıklamalar, otomatik filtre ve adlandırılmış aralıklar korunur. Açıklamalar dışındakiler ekranda da gösterilir; açıklamalar hücrenin köşe üçgeninden ve ipucu balonundan okunur, ayrıca eklenip düzenlenebilir.

Yine de bu öğeler görüntülenmez ve düzenlediğiniz kısımda kaybolabilir:

  • Eski ikili .doc ve .ppt açılamaz. Bu dosyaları önce Word/PowerPoint veya LibreOffice ile .docx / .pptx olarak kaydedin. (Eski Excel .xls ve .xlsb açılır: içerik okunur, biçimlendirme sadeleşir ve kaydederken .xlsx istenir.)
  • Word'de metin kutuları ve şekiller okunur, düzenlenir ve yazılır (metin, dolgu, kenarlık; dikdörtgen / yuvarlatılmış / elips). Ancak şekil satır içine yerleşir: kayan konum, metin sarma, döndürme ve gölge korunmaz. Gövdeye yerleştirilmiş grafikler düzenleyicide görünmez ve düzenlediğiniz kısımda düşer. Üstbilgi/altbilgi düzenlenebilir, ancak içinde tablo veya resim varsa düzenlediğiniz anda sade metne dönüşür (dokunmazsanız olduğu gibi korunur).
  • Excel'de grup/alt toplam anahattı ve ad yöneticisi yoktur. Adlandırılmış aralıklar korunur ama düzenlenemez.
  • Excel'de canlı pivot tablolar ve makrolar düşer; dizi formülleri (CSE) ve dış bağlantılar hesaplanmaz. ("Özet Tablo" aracı canlı PivotTable üretmez, hesaplanmış hücreler yazar — kaynak veri değişince özeti yeniden oluşturmanız gerekir.) Desenli ve degrade dolgular düz renge yaklaştırılır, metin döndürme yatay gösterilir, simge kümeleri (koşullu biçimlendirmede) çizilmez.
  • Word'de son not düzenlediğiniz kısımda düşer. Yorumlar ve değişiklik izleme korunur ve gösterilir, ancak yazarken yeni değişiklik izleme kaydı üretilmez (var olan işaretler korunur, kabul/reddet edilebilir).
  • Sunumda animasyonlar ve ses/video, düzenlediğiniz slaytta korunmaz (dokunmadığınız slaytlarda kalır).
  • PDF'in içeriği düzenlenemez (metin, resim, form alanı); yalnızca görüntülenir. Sayfa düzeyindeki araçlar (birleştir / ayıkla / döndür / sırala-sil) yeni dosya üretir.
  • Sunuma eklenen şekiller hazır geometrilerle sınırlıdır; serbest çizim, gölge, degrade ve şekil döndürme yoktur. Dosyadan gelen tanımadığımız şekiller ekranda dikdörtgen görünür ama kaydederken özgün geometrileri korunur.

Kritik bir dosyada çalışıyorsanız yine de "Farklı kaydet" ile kopya üzerinden ilerlemek en güvenlisidir.


Mimari

src/
  main/                 Electron ana süreç (Node)
    main.js             pencere, menü, IPC, PDF dışa aktarma
    preload.js          contextBridge ile güvenli API (contextIsolation açık)
    excel-io.js         ExcelJS ile .xlsx okuma/yazma, elle yazılmış CSV çözümleyici
    store.js            userData/settings.json ayar deposu
    menu.js             Türkçe uygulama menüsü
  renderer/             arayüz (Node erişimi yok, CSP kısıtlı)
    js/docx.js          DOCX okuyucu + yazıcı (OOXML doğrudan işlenir)
    js/pptx.js          PPTX okuyucu + yazıcı (PresentationML)
    js/formula.js       formül çözümleyici ve hesaplayıcı
    js/excel.js         sanal kaydırmalı hesap tablosu ızgarası
    js/word.js          zengin metin düzenleyici
    js/slide.js         sunum düzenleyici (slayt paneli, tuval, şekiller)
    js/text.js          düz metin görüntüleyici (kodlama algılama, satır numarası)
    js/pdf.js           PDF görüntüleyici (Chromium yerleşik eklentisi)
    js/app.js           sekmeler, dosya işlemleri, bul/değiştir
    js/util.js          sayı/tarih biçimlendirme, hücre adresleri, modal
tools/                  ikon üretici, testler, Office doğrulaması

Her belge türü aynı denetleyici sözleşmesini uygular (mount / unmount / command / setZoom); app.js sekmeleri bu haritadan çözer.

Birkaç tasarım kararı:

  • Excel ana süreçte, Word renderer'da işlenir. ExcelJS bir Node kütüphanesidir ve ana süreçte yerel olarak çalışır; açılan çalışma kitabının nesnesi bellekte tutulur, kaydederken aynı nesne güncellenir — böylece arayüze taşımadığımız ama ExcelJS'in anladığı öğeler (tanımlı adlar, yazdırma alanları, otomatik filtre) korunur. DOCX ise renderer'da işlenir; orada DOMParser hazır olduğu için ek XML bağımlılığı gerekmez.
  • Var olan dosyalar yerinde güncellenir. Kaydetme, dosyayı sıfırdan üretmek yerine özgün paketi açıp yalnızca değiştirdiğiniz bölümü yazar. Word'de üstbilgi/altbilgi başvurularını taşıyan sectPr korunur; PowerPoint'te dokunulmayan slaytlar bit bit aynı kalır. Böylece uygulamanın hiç anlamadığı öğeler (tema, grafik, gömülü yazı tipi, geçiş) dosyada kalır. Bu davranış gerçek Word ve PowerPoint ile doğrulanıyor.
  • DOCX/PPTX için hazır dönüştürücü kullanılmadı. Yaygın kütüphaneler kalın/italik dışındaki biçimlendirmeyi (renk, punto, hizalama, girinti, tablo kenarlığı) düşürüyor ve aç–kaydet döngüsünde belge bozuluyor. OOXML doğrudan işlenerek gidiş-dönüş korunuyor.
  • OOXML öğe sırası şemayla zorunludur. w:rPr, w:tcPr, a:rPr, p:sp gibi kapların çocukları belirli sırada olmalı; sıra bozulursa Word/PowerPoint dosyayı açmayı reddeder. Bu sıra tools/smoke-render/test.js içinde otomatik denetlenir.
  • Sunumda yer tutucu konumları dosyaya açıkça yazılır. Okurken konum, düzen ve asıl slayttan miras alınır; yazarken her şeklin konumu kendi içine yazılır. Böylece dosya kendi düzen şablonuna bağımlı kalmaz.
  • PDF için ayrı bir kütüphane paketlenmedi. Chromium'un yerleşik görüntüleyicisi bir çerçeve içinde kullanılır; uygulama boyutu ve güvenlik yüzeyi büyümez.

Testler

npm run lint                                                  # ESLint
node tools/smoke-excel.js                                     # 31 test — Excel katmanı (düz Node)
npx electron tools/smoke-render/main.js                       # 368 test — DOCX, PPTX, yerinde güncelleme, formül, güvenlik
node tools/capture.js                                         # arayüzü sürer, ekran görüntüsü alır, komutları tarar
powershell -File tools/verify-office.ps1                      # 65 test — GERÇEK Office ile doğrulama
node tools/regression.js                                      # diskteki gerçek dosyalarla aç→kaydet→aç turu

Sonuncusu bilgisayarınızdaki gerçek .docx / .xlsx / .pptx dosyalarını bulup açar, kaydeder ve tekrar açar; ne kaybolduğunu ölçer. Özgün dosyalarınıza yalnızca okuma erişimi olur, çıktılar geçici klasöre yazılır ve rapora belge metniniz değil yalnızca sayısal ölçümler girer.

Son doğrulama, üretilen dosyaları COM üzerinden Microsoft Word, Excel ve PowerPoint'te açar: Word ve PowerPoint dosyayı onarmadan açar, Excel formülleri kendisi yeniden hesaplayıp aynı sonuçları üretir. Bu adım tools/capture.js çıktısını kullandığı için önce onu çalıştırın. tools/smoke-render çıktısı ayrıca F:\tmp\exxe_smoke\render-results.txt dosyasına yazılır (Windows'ta Electron GUI süreci konsola yazamadığı için).

About

Windows icin Word, Excel, PowerPoint, metin ve PDF dosyalarini goruntuleyip duzenleyen Turkce masaustu uygulamasi (Electron)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages