Open-Source-Lizenzen

Das KUKANILEA Präsentations-Studio ist eine eigenständige Anwendung, die aus vier freien, MIT-lizenzierten Bibliotheken zusammengesetzt ist: Fabric.js für den Folien-Editor (Canvas-Objektmodell: Textboxen, Formen, Bilder, Positionierung), reveal.js für den Präsentationsmodus (Vollbild-Navigation), PptxGenJS für den PPTX-Export sowie pdf-lib für den PDF-Export. Eigenes Seiten-Layout/Branding ("KUKANILEA Präsentations-Studio", keine Bibliotheks- oder Produktnamen der drei Upstream-Projekte im Produktnamen), eigene Toolbar/Aktionsleiste, eigene Speicher-/Exportlogik. Es werden ausschließlich lokal gebündelte JavaScript-/CSS-Ressourcen ausgeliefert; es findet kein Laufzeit-Nachladen von Schriftarten, Icons oder sonstigen Assets von einer externen CDN statt (Local-First-Policy). Hochgeladene Bilder werden ausschließlich lokal im Browser verarbeitet, nicht an einen Server übertragen. Das Autosave-Feature speichert Entwürfe ausschließlich lokal in localStorage des Browsers, ohne Cloud-Synchronisation.

Fabric.js (Folien-Editor: Canvas, Formen, Text, Bilder)

Projekt
github.com/fabricjs/fabric.js
Lizenz
MIT
Version
v7.4.0 (npm-Paket fabric)

reveal.js (Präsentationsmodus)

Projekt
github.com/hakimel/reveal.js
Copyright
Hakim El Hattab und reveal.js-Mitwirkende
Lizenz
MIT
Version
6.0.1
Einbindung
vendorisierte Kerndateien unter assets/lib/reveal/ (reveal.js, reveal.css, theme/white.css). Jede Folie wird beim Start des Präsentationsmodus offscreen aus dem Fabric.js-Canvas als PNG gerendert und als Bild in ein reveal.js-<section> eingebettet — reveal.js übernimmt ausschließlich Navigation/Übergänge/Vollbild, keine Interaktionslogik der Folien selbst läuft im Präsentationsmodus (robusterer Ansatz als "live" DOM-Folien, siehe Code-Kommentar in present.js). Aus dem Original-Theme wurden eingebettete Base64-Schriftart-Daten (@font-face mit data:-URI) entfernt, da die strikte Content-Security-Policy dieser Seite (font-src 'self', bewusst ohne data:) solche eingebetteten Schriftarten ohnehin blockieren würde — die Präsentations-Oberfläche nutzt stattdessen denselben System-Font-Stack wie der Rest der Anwendung, keine funktionale Einschränkung.

PptxGenJS (PPTX-Export)

Projekt
github.com/gitbrent/PptxGenJS
Copyright
Brent Ely
Lizenz
MIT
Version
4.0.1 (npm-Paket pptxgenjs)

Bekannte Export-Grenzen (ehrlich dokumentiert): Der PPTX-Export bildet Textboxen, Rechtecke, Ellipsen und Bilder aus jeder Folie 1:1 auf PptxGenJS-Elemente ab (Position, Größe, Drehung, Farbe, Schriftgröße/-schnitt). Farbverläufe, Schatten und gruppierte Objekte werden auf eine Volltonfarbe reduziert bzw. übersprungen. Schriftarten werden per Namen an PowerPoint übergeben (kein Font-Embedding in der Datei) — ist eine Schriftart auf dem öffnenden Rechner nicht installiert, wählt PowerPoint automatisch eine Ersatzschrift.

pdf-lib (PDF-Export)

Projekt
github.com/Hopding/pdf-lib
Copyright
Andrew Dillon
Lizenz
MIT
Version
v1.17.1 (vendorisiert unter assets/lib/pdf-lib/)

Bekannte PDF-Grenzen (ehrlich dokumentiert): Der PDF-Export zeichnet jede Folie als echtes Text-PDF: Textboxen werden als Textobjekte geschrieben (durchsuchbar, kopierbar, ohne Qualitätsverlust skalierbar), Rechtecke, Ellipsen und Bilder als Vektorformen beziehungsweise eingebettete Bilder. Die Seite misst genau 720 × 405 pt (25,4 × 14,3 cm, 16:9) — dasselbe Format wie die Folie in der Vorschau, eine Seite je Folie. Bis zum 2026-09-02 war dieser Export ein Rasterdruck über den Browser-Druckdialog; die Umstellung ist der Grund für diese Bibliothek. Gesetzt wird mit den PDF-Standardschriften (Helvetica, auch fett und kursiv), nicht mit der Bildschirmschrift — Zeilenumbrüche übernimmt der Export unverändert aus dem Editor, die Zeichenbreiten können sich minimal unterscheiden. Zeichen außerhalb der WinAnsi-Kodierung (etwa Emoji oder kyrillische Schrift) werden durch ? ersetzt; die Statuszeile nennt die Anzahl. Eingefügte Bilder werden vor dem Einbetten einmal über ein Canvas neu kodiert (JPEG bleibt JPEG, alles andere wird PNG) und dabei auf höchstens 3000 Pixel Kantenlänge begrenzt — das entspricht 300 dpi im Druck und hält die Dateigröße im Rahmen. Der Umweg ist bewusst: der PNG-Dekoder von pdf-lib läuft bei einem beschädigten Datenstrom in eine Endlosschleife, und eine halb heruntergeladene Bilddatei würde den Browsertab sonst dauerhaft einfrieren. Der Druckweg (Schaltfläche „Drucken") rendert die Folien dagegen als Bild — er ist für Papier gedacht, nicht für eine Datei.

MIT-Lizenztext (Fabric.js)

Wird geladen …

MIT-Lizenztext (reveal.js)

Wird geladen …

MIT-Lizenztext (PptxGenJS)

Wird geladen …

MIT-Lizenztext (pdf-lib)

Wird geladen …

Zurück zum Präsentations-Studio