Eindrucksvolle Präsentationen mit KeyJnote

Aus LinuxUser 06/2006

Eindrucksvolle Präsentationen mit KeyJnote

© photocase.com

Betrachter gesucht

KeyJnote ist der etwas andere PDF-Viewer: Mit schicken 3D-Effekten und effektiven Skripting sorgt es für beeindruckende Präsentationen.

An Präsentationssoftware herrscht unter Linux zwar wahrlich kein Mangel: Mit MagicPoint, OpenOffice.org, KPresenter und nicht zuletzt einigen LaTeX-Paketen stehen reichlich Möglichkeiten zur Auswahl, um ansehnliche Folien zu erstellen. Allerdings geht es mit all diesen Methoden bei der Anzeige selbst eher bieder zu.

KeyJnote widmet sich diesem Aspekt gezielt: Mit Hilfe moderner Grafikhardware stellt es attraktive Folienüberblendungen dar, verschiedene Markierfunktionen richten die Aufmerksamkeit auf bestimmte Teile des Texts und eine Übersichtsfunktion erleichtert die Navigation in längeren Präsentationen.

KeyJnote einrichten

Das in Python geschriebene KeyJnote nutzt zum Darstellen OpenGL. Um das Rendering der PDF-Dokumente in anzeigefertige Bilddaten kümmert sich GhostScript, das kleine Tool Pdftk leistet optional Schützenhilfe beim Auswerten der Metadaten. Zumindest GhostScript und Python selbst gehören bei praktisch jeder Distribution zum Standard-Installationsumfang.

Die verschiedenen Python-Erweiterungen gilt es jedoch oft aus dem Netz nachzuinstallieren. Sie Benötigen hier die Pakete für PyOpenGL, PyGame und PIL, die Python Imaging Library. Nutzer von Debian-basierten Distributionen spielen all diese Abhängigkeiten mit einem Rutsch ein; Ubuntu-Anwender schalten dazu zunächst das Repository Universe frei.

# apt-get update
# apt-get install python python-?opengl python-pygame python-imag?ing gs pdftk

KeyJnote selbst laden Sie bei SourceForge [1] herunter. Für den Einsatz unter Linux holen Sie dort lediglich das rund 100 KByte große .tar.gz-Paket ab. Um das Programm zu “installieren”, kopieren Sie mit administrativen Rechten die Datei keyjnote.py einfach nach /usr/local/bin. Dabei können Sie das Suffix .py auch weglassen, damit die Namensgebung konsistent mit dem Rest des Systems bleibt:

$ tar xzf keyjnote-0.8.1.tar.gz
# cp keyjnote-0.8.1/keyjnote.py ?/usr/local/bin/keyjnote

Gentoo-Nutzer haben es etwas einfacher, können sie das Programm doch samt aller Abhängigkeiten einfach mittels emerge keyjnote installieren.

Um KeyJnote mit befriedigender Performance nutzen zu können, sollte der Rechner auf jedem Fall Hardware-3D-Beschleunigung bieten. Mit Software-Rendering läuft das Programm zwar auch, aber dann steigt die Reaktionszeit auf Benutzereingaben deutlich an – und man muss auf die Animationen verzichten, die den eigentlichen Reiz von KeyJnote ausmachen.

Die Präsentation vorbereiten

Da KeyJnote sich lediglich um die Anzeige der Folien kümmert, erstellt man die eigentlichen Inhalte mit anderen Programmen. Hier empfehlen sich die eingangs erwähnten Software-Pakete OpenOffice.org und LaTeX: OpenOffice exportiert die Folien über Datei | Exportieren als PDF… im passenden Format. Für pdflatex gibt es das bekannte Paket beamer, das ebenfalls sehr ansehnliche PDF-Dateien erzeugt.

Exportiert das gewählte Programm keine PDF-Dateien oder bereitet der PDF-Export auf eine andere Art Probleme, kann man KeyJnote auch Bilder in den Formaten PNG, TIF oder JPEG unterschieben. Dabei müssen alle Bilddateien in einem Verzeichnis ohne weitere Unterverzeichnisse liegen. Die Anzeigereihenfolge der Seiten entspricht dabei einer einfachen alphanumerischen Sortierung, wie von ls gewohnt. Die Option, Bilder statt PDFs anzuzeigen, eröffnet auch einen interessanten zweiten Anwendungszweck für KeyJnote: Die Slideshow mit den Fotos vom letzten Urlaub gewinnt durch die Übergangseffekte ebenfalls deutlich an Pep.

Haben Sie eine PDF-Datei – etwa folien.pdf – erzeugt, starten Sie KeyJnote mit einem einfachen keyjnote folien.pdf. Für eine Bilder-Slideshow geben Sie statt der PDF-Datei den Namen des abzuspielenden Verzeichnisses (nicht der Dateien darin!) an. KeyJnote kennt ferner etliche Kommandozeilenoptionen, die die Option -h oder die beigefügte (englische) Bedienungsanleitung ausführlich erklären. Die wichtigsten sind -f, um den Vollbildmodus schon beim Start auszuschalten, und -g, um die Bildschirmauflösung einzustellen. Folgender Aufruf zeigt die Bilder aus dem Verzeichnis NeueFotos in einem 800×600 Pixel großen Fenster an:

$ keyjnote -f -g 800x600 NeueFot?os

Nach dem Aufruf zeigt Keyjnote zunächst das Startlogo und einen Ladebalken an. Dabei rendert es jede Seite der Präsentation in den Arbeitsspeicher vor, um später schnelleren Zugriff zu gewährleisten und die Übersichtsseite zu füllen. Diesen Vorgang kann man jedoch auch mit einem beliebigen (Maus-)Tastendruck vorzeitig abbrechen. Ganz ausschalten lässt sich dieses Vorladen mit der Option -c. Diese hilft vor allem bei Rechnern mit wenig Arbeitsspeicher, da KeyJnote dann auch später nicht versucht, alle bereits angezeigten Seiten im RAM zu halten.

Let the show begin …

Nach dem Start- und Ladebildschirm zeigt KeyJnote sofort die erste Seite an. Um die Seite zu wechseln, hat man zahlreiche Möglichkeiten: Die linke Maustaste, [Bild-Ab] oder die Leertaste führen zur jeweils nächsten Seite; die rechte Maustaste, [Bild-Auf] oder die Rücktaste kehren zur vorigen Seite zurück. Seitenwechsel erledigt KeyJnote mittels sanfter Übergangseffekte. Deren Auswahl nimmt es normalwerweise auf zufälliger Basis vor. Bei den meisten Übergängen handelt es sich um schlichte weiche Wischblenden, wie man sie aus den Star-Wars-Filmen kennt. KeyJnote hat aber auch einen netten Umblättereffekt (Abbildung 1) im Repertoire.

Abbildung 1: KeyJnote bietet animierte Übergänge zwischen den Seiten.

Abbildung 1: KeyJnote bietet animierte Übergänge zwischen den Seiten.

Weiche Überblendungen sind jedoch reines Eye Candy und haben eigentlich keinen praktischen Nutzwert. Ganz anders die Hervorhebungsfunktionen: Um die Aufmerksamkeit des Publikums auf bestimmte Teile der gerade angezeigten Folie zu lenken, drücken Sie einfach die Eingabetaste. Daraufhin erscheint um den Mauscursor herum eine Art “Spotlicht” (Abbildung 2, oben), während der Rest der Seite dunkler und leicht unscharf in den Hintergrund tritt. Mit den Tasten [+] und [-] ändern Sie den Radius des Spots, erneutes Betätigen des Eingabetaste schaltet ihn ganz aus.

Reicht die runde Hervorhebung nicht aus, ziehen Sie mit gehaltener linker Maustaste einen Markierungsrahmen auf. Auch mehrere Rahmen pro Seite sind möglich (Abbildung 2, unten). Um Hervorhebungen wieder zu löschen, klicken Sie mit der rechten Maustaste in diese hinein.

Gelegentlich benötigt man eine Vergrößerung des Folieninhalts, um kleinere Skizzen besser darzustellen. Sofern als Eingabeformat PDF verwendet wird, schalten Sie dazu mit der Taste [Z] einen Zweifach-Zoom ein und aus. Im Zoom-Modus verschieben Sie den sichtbaren Bildausschnitt bei gehaltener rechter Maustaste mit der Maus.

Ein weiteres nützliches Feature stellt die Übersichtsseite dar (Abbildung 3): Mit der Tabulator-Taste zoomt das Bild sanft zurück und gibt den Blick auf eine “gekachelte” Vorschau aller Seiten der Präsentation frei. Dort wählen Sie mit der Maus eine beliebige Seite aus, ein Klick zeigt diese dann wieder groß an.

Abbildung 3: Die Übersichtsseite hilft bei der Orientierung in längeren Präsentationen.

Abbildung 3: Die Übersichtsseite hilft bei der Orientierung in längeren Präsentationen.

Fazit

KeyJnote ist ein effektives kleines Präsentationswerkzeug, das zudem beim Publikum einen kleinen “Wow”-Effekt erzielt. Allerdings fallen die Anforderungen an die Hardware recht hoch aus. Insbesondere der Verbrauch an Arbeitsspeicher ist bei Verwendung des Vor-renderings immens – bei 1024×768 Pixel Bildschirmauflösung schlägt jede Seite mit fast 2,5 MByte zu Buch. Auch die Wartezeiten beim Start sind bei längeren Präsentationen gelegentlich lästig. Die kommende Version 0.9 wird diese Probleme jedoch lösen, indem sie die Präsentation im Hintergrund vorberechnet und auf der Festplatte zwischenspeichert.

Anpassungsfähig

Um die Präsentationen nach eigenem Gusto “feinzutunen”, bietet KeyJnote so genannte Info-Scripte an. Dabei handelt es sich um eine Textdatei mit selbem Namen wie die anzuzeigende PDF-Datei oder das Verzeichnis mit den Bildern, jedoch mit der zusätzlichen Endung .info. Das Info-Skript für folien.pdf hieße also beispielsweise folien.pdf.info. Bei den Info-Dateien handelt es sich eigentlich um Python-Skripte, die etliche Eigenschaften der Präsentation beeinflußen.

Einen gängigen Anwendungszweck stellt die Steuerung der verwendeten Übergangseffekte dar. So lässt sich etwa der vergleichsweise spektakuläre Blättereffekt gezielt zwischen den Abschnitten einer Präsentation einsetzen, während sonst nur “gewöhnliche” Wischblenden vorkommen sollen. Dazu kann man in einer Variable PageProps für jede Seite unter anderem die Eigenschaft transition einstellen, die den Übergangseffekt von dieser Seite zur nächsten festlegt. Ein typisches Info-Script könnte etwa so aussehen:

AvailableTransitions.remove(PagePeel)
PageProps = {
  4: { 'transition': PagePeel },
  9: { 'transition': PagePeel }
}

Dabei entfernt die erste Zeile den Effekt PagePeel aus der Liste der AvailableTransitions, sodass KeyJnote diesen Effekt nicht mehr zufällig irgend einer Seite zuweist. Die PageProps legen dann fest, dass zwischen den Seiten 4 und 5 sowie 9 und 10 dennoch eben dieser Übergangseffekt verwendet werden soll. Zahlreiche weitere Anpassungsmöglichkeiten beschreibt die KeyJnote-Hilfedatei.

Troubeshooting

Ganz problemfrei funktioniert KeyJnote leider nicht. Als häufigsten Fehlerquellen erweisen sich OpenGL und GhostScript.

KeyJnote hält stets das Abbild der aktuellen und nächsten Seite in einer OpenGL-Textur. Da solche Texturen stets Abmessungen haben müssen, die Zweierpotenzen entsprechen, rundet KeyJnote die Größe dabei großzügig auf: Für 1024×768 Pixel Nutzfläche kommen 1024×1024 Pixel zum Einsatz, bei 1280×1024 Pixeln wären es schon 2048×1024. Leider können nicht alle OpenGL-Implementationen mit solch großen Texturen umgehen oder verfügen schlichtweg nicht über genügend Grafikspeicher. Im günstigsten Fall funktioniert dann lediglich die Zoom-Funktion nicht, im schlimmsten Fall muss man mit der Kommandozeilenoption -g die Bildschirmauflösung auf 1024×768 herabsetzen. Hilft auch das nicht, liegt ein ernsthaftes Problem vor: Die nächstkleinere Auflösung, die wirklich eine Ersparnis bringt, ist 512×384.

Problemquelle Nummer zwei stellen PDF-Dateien dar, die sich nicht mit der installierten GhostScript-Version vertragen. GhostScript 7.x versagt beispielsweise bei Dateien, die mit pdflatex generiert wurden, und zeigt einige Zeichen völlig falsch an. In anderen PDFs funktioniert das Antialiasing der Schriften nicht oder nur unbefriedigend. Dies lässt sich jedoch mit der (rechenzeitintensiven) Option -s teilweise beheben. Recht häufig, vor allem bei OpenOffice.org-Exporten, spuckt GhostScript außerdem Warnungen über fehlerhafte Schriften aus, zeigt sie jedoch korrekt an. Generell gilt: Je neuer die GhostScript-Version, desto weniger Probleme sind zu erwarten.

Infos

[1] Projekt-Homepage von KeyJnote: http://keyjnote.sourceforge.net/

Der Autor

Martin Fiedler ist der Autor von KeyJnote und einigen anderen kleineren Open-Source-Projekten im Multimedia-Umfeld.

LinuxUser 06/2006 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben