Plattformunabhängig präsentieren mit IndeView

Aus LinuxUser 04/2004

Plattformunabhängig präsentieren mit IndeView

© Matt Williams

Folien ohne Grenzen

OpenOffice- oder KOffice-Präsentationen auf fremden Rechnern darzustellen, ist eine riskante Angelegenheit: Da stimmt die Version nicht oder es fehlen Fonts. Mit IndeView zeigen Sie brillante Photos, saubere Farbverläufe und passgenaue Schriften auch auf unbekannten Systemen.

Wie einfach waren Präsentationen im analogen Zeitalter: Folien auf den Tageslichtprojektor und fertig. Seit Präsentationsprogramme als das Nonplusultra gelten, steigt die Spannung für Vortragende: Spielt der eigene Laptop mit dem Beamer zusammen? Kommt ein fremder PC zum Einsatz, steht garantiert die Software nicht zur Verfügung, mit der man die Präsentation erstellt hat. Und wenn doch, dann passen die Fonts nicht genau, skalieren die Fotos falsch, stimmt die Auflösung nicht.

Vor ähnlichen Problemen stehen auch alle, die eine Präsentation als CD per Post oder via E-Mail versenden wollen. Sie ließen sich vermeiden, wenn nicht das Darstellungsgerät die Verantwortung für das Rendern der Folien trüge, sondern bereits der Präsentationserstellungsrechner.

Möglich wird dies mit dem Programm IndeView. Mit Hilfe von OpenOffice-Impress bzw. dem KOffice-Bestandteil KPresenter wandelt es Präsentationen nach ihrer Erstellung in ein unabhängiges Format. Das für Windows, Linux und Mac OS/X vorkompilierte IndeView-Anzeigeprogramm brennt man mit auf die Präsentations-CD; mit 15 MByte belegt es dort weniger als drei Prozent des Speicherplatzes.

Auf dem Präsentationsrechner startet es ohne Installation direkt von CD (bei Windows standardmäßig per Autostart) und zeigt die Folien auch auch langsameren Rechnern zügig an, ohne sie erneut zu berechnen. Alle Schriften und Fotos werden vor Ort exakt so gezeigt, wie Sie sie auf Ihrem PC gerendert haben.

Wie Ihre Präsentation bei verschiedenen Auflösungen aussehen wird, testen Sie bereits zu Hause. Standardmäßig unterstützt IndeView die Auflösungen 640×480, 704×576 (für Video-Out), 800×600, 1024×768, 1152×864, 1280×1024 und 1600×1200. Bei exotischen Auflösungen nimmt das Anzeigeprogramm das nächstgrößere Maß her und skaliert rasch auf die benötigte Größe herunter.

Aufbau: modular

IndeView besteht derzeit aus drei Komponenten: aus zwei sogenannten Creator-Modulen, die aus einer Impress- bzw. KPresenter-Präsentation einen unabhängigen IndeView-Datensatz erzeugen, und dem Viewer, der die IndeView-Daten liest und die Präsentation darstellt. Während es sich bei den Erstellungsmodulen um ein StarBasic- bzw. ein Shell-Skript handelt, ist das Anzeigemodul ein Qt-Programm, dessen Kern sich auch in andere Programme einbauen lässt [2]. Da IndeView unter der “GNU Lesser General Public License” LGPL steht, die großzügigere Lizenzbedingungen als die GPL bietet, dürfen das auch Closed-Source-Programme sein.

In Vorbereitung ist ein spezieller Editor, der es erlauben wird, eine IndeView-Präsentation zu überarbeiten (Sprungziele zu ändern, Pfade oder aktive Bereiche zu benennen usw.), ohne dass ein Präsentationsprogramm verfügbar sein muss.

Unter [1] steht die jeweils aktuelle Version der IndeView-Distribution (zu Redaktionsschluss 0.6.3) zum Download bereit. Sie enthält neben dem Quellcode und der Dokumentation den für Windows, Mac OS/X und Linux vorkompilierten Viewer im Verzeichnis ROOT_DATA/BIN. Zum Entpacken kommt zum Beispiel der Kommandozeilenbefehl

tar -xzf indeview-0.6.3.tgz

zum Einsatz, der beim Ausführen ein neues Verzeichnis namens indeview-0.6.3 anlegt.

Damit der Viewer von den Creator-Modulen gefunden und mit auf die CD gebrannt werden kann, legen Sie am besten ein spezielles IndeView-Verzeichnis im Dateisystem an, in dem alle, die IndeView einsetzen werden, Leserechte haben. Sorgen Sie anschließend durch entsprechende Rechtevergabe dafür, dass niemand außer der Eigentümerin dieser Dateien sie verändern kann. Listing 1 führt die entsprechenden Befehle für den Fall auf, dass das allgemein zugängliche Verzeichnis /net/share/pub/ heißt.

Listing 1

Installation des Viewers

mkdir -p /net/share/pub/IndeView
cd indeview-0.6.3
mv ROOT_DATA /net/share/pub/IndeView/
cd /net/share/pub/IndeView/
chmod a+r-w+x ROOT_DATA/BIN/WINDOWS/*
chmod a+r-w+x ROOT_DATA/BIN/LINUX/*
chmod a+r-w+x ROOT_DATA/BIN/MAC_OSX/indeview.app/Contents/MacOS/*
chmod a+r-w+x ROOT_DATA/BIN/MAC_OSX/indeview.app/Contents/*
chmod a+r-w+x ROOT_DATA/BIN/MAC_OSX/indeview.app/*
chmod a+r-w+x ROOT_DATA/BIN/MAC_OSX/*
chmod a+r-w+x ROOT_DATA/BIN/*
chmod a+r-w+x ROOT_DATA/*

Falls Sie Superuser auf dem Rechner sind, empfiehlt es sich, root als Eigentümerin dieser Dateien einzutragen, damit sie nur mit Superuser-Rechten verändert werden können:

su -c "chown -R root ROOT_DATA"

Zurück im IndeView-Verzeichnis laden Sie das KOffice-Creator-Modul in Ihren bevorzugten Editor, z. B. in KWrite:

cd -
kwrite Creator/KPresenter/kpr2iv.sh

In der dritten Zeile dieser Datei, ROOT_DATA=unknown, ersetzen Sie das Wort unknown durch den vollständigen Pfad zum vorhin verschobenen ROOT_DATA-Verzeichnis; das Ergebnis sieht dann beispielsweise so aus:

ROOT_DATA=/net/share/pub/IndeView/ROOT_DATA

Nach dem Speichern und dem Schließen des Editors legen Sie das KOffice-Creator-Modul an einem allgemein zugänglichen Ort (z. B. /usr/local/bin) ab und machen root zur Eigentümerin, um unbefugte Manipulationen zu verhindern:

su [root-Passwort eingeben]
mv Creator/KPresenter/kpr2iv.sh /usr/local/bin/
chmod a+r-w+x /usr/local/bin/kpr2iv.sh
chown root /usr/local/bin/kpr2iv.sh
exit

Die Installation des OpenOffice-Creator-Moduls gestaltet sich ähnlich einfach, umfasst aber mehrere Einzelschritte, die Kasten 1 beschreibt.

Kasten 1: IndeView in OpenOffice einbinden

Nach jedem der im Folgenden beschriebenen drei Abschnitte ist es möglich, OpenOffice zu beenden und später fortzufahren, ohne die bis dahin vorgenommenen Änderungen zu verlieren.

  • Creator-Makros in OpenOffice aufnehmen
  • OpenOffice starten und über DateiNeuTextdokument ein Text-Dokument anlegen.
  • Den Makro-Dialog öffnen: ExtrasMakrosMakro….
  • In der Liste Makros aus das Modul StandardModule1 wählen und auf Bearbeiten klicken. Dabei öffnet sich der Makro-Editor.
  • Mit der Schreibmarke ans Ende der Datei gehen, also unter das letzte End Sub.
  • Die Schaltfläche mit dem weißen Ordner-Symbol Quelltext einfügen in der unteren Werkzeugleiste anklicken.
  • Im Verzeichnis indeview-0.6.3/Creator/OpenOffice die Datei IndeViewExport.bas wählen: Der Quelltext wird dann am Ende angehängt.
  • Das Modul mit [Strg-S] speichern und den Editor mit [Strg-W] schließen.
  • Konfigurieren des Makros
  • Den Makro-Dialog über ExtrasMakrosMakro… erneut öffnen.
  • Nun StandardModule1 in der Liste Makros aus sowie IndeViewExport aus der Spalte Vorhandene Makros in:Module1 wählen und auf Bearbeiten klicken. Daraufhin öffnet sich der Makro-Editor mit der Schreibmarke am Anfang des IndeViewExport-Makros, dessen erste Zeilen so aussehen:
Sub IndeViewExport
  DIM sCDMasterDir As String
  sCDMasterDir = "unknown"
  • Das Wort unknown durch den vollständigen Pfadnamen des ROOT_DATA-Verzeichnisses ersetzen, ohne dabei die Anführungszeichen zu löschen oder einen abschließenden Schrägstrich anzufügen:
sCDMasterDir = "/net/share/pub/IndeView/ROOT_DATA"
  • Das Modul mit [Strg-S] speichern und den Editor mit [Strg-W] schließen.
  • Makro über die Werkzeugleiste zugänglich machen
  • Den Menüpunkt ExtrasAnpassen… wählen.
  • Im daraufhin erscheinenden Dialog Anpassen die Tabpage Symbolleisten wählen.
  • In der Liste Sichtbare Symbolleisten die Symbolleiste Funktionsleiste selektieren und auf Bearbeiten… klicken.
  • Im Dialog Symbolleisten bearbeiten in der Liste Verfügbare Schaltflächen das Skript wählen. Dazu jeweils auf die Pluszeichen vor OpenOffice.org BASIC-MakrosStandardModule1 klicken und am Ende IndeViewExport markieren.
  • In der Combo-Box Symbolleisten den Eintrag Funktionsleiste wählen.
  • In der Liste Verwendete Schaltflächen bis fast zum Ende scrollen und wie in Abbildung 1 den untersten ------------------------Eintrag wählen.
  • Auf Hinzufügen –> klicken, um IndeViewExport zur Liste Verwendete Schaltflächen hinzuzufügen.
  • Diesen neuen Eintrag IndeViewExport in der Liste Verwendete Schaltflächen selektieren.
  • Auf Symbole… klicken und ein Icon für die Schaltfläche wählen; die Auswahl mit OK beenden.
  • Den Dialog Symbolleisten bearbeiten mit OK schließen.

Ab jetzt genügt ein Klick auf die neu hinzugefügte Schaltfläche IndeViewExport in der Hauptsymbolleiste von OpenOffice (Abbildung 2), um das Export-Makro zu starten.

Abbildung 1: Das schönste Makro nützt nichts, wenn es nicht über die OpenOffice-Funktionsleiste zugänglich ist.

Abbildung 1: Das schönste Makro nützt nichts, wenn es nicht über die OpenOffice-Funktionsleiste zugänglich ist.

OpenOffice exportiert plattformunabhängig

Beim Erstellen einer Präsentation lohnt es sich, darauf zu achten, dass jede Seite statt der Standardnamen Page1, Page2 (bzw. Seite1, Seite2) usw. eine aussagekräftige Bezeichnung trägt. Darüber lassen sich einzelne Folien in IndeView wie in Abbildung 4 gezielt anspringen.

Steht die Impress-Präsentation, klicken Sie nun einfach auf das bei der Installation (Kasten 1) ausgewählte Symbol (Abbildung 2).

Abbildung 2: Über das selbst gewählte Icon starten Sie den Creator in OpenOffice.

Abbildung 2: Über das selbst gewählte Icon starten Sie den Creator in OpenOffice.

Das Creator-Modul meldet sich nun mit einem Verzeichnis-Auswahl-Dialog. Legen Sie hier ein leeres Verzeichnis fest, in dem die IndeView-Präsentation angelegt werden soll. Ein Klick auf OK schließt den Dialog, und das Skript exportiert die Präsentation Seite für Seite ins IndeView-Format. Gleichzeitig erzeugt es Seiten-Informationsdateien und eine Hauptsteuerdatei, die später der Viewer auswertet.

Das Erstellen der Seitendateien in verschiedenen Auflösungen kann bei umfangreichen Präsentationen durchaus mehrere Minuten dauern: Den Abschluss des Skript-Laufs erkennen Sie daran, dass das Symbol in der Funktionsleiste wieder seine normale Färbung annimmt, also nicht mehr wie eine heruntergedrückte Taste aussieht. Eventuelle Fehler (z. B. fehlende Zugriffsrechte) teilt IndeViewExport per Hinweis-Dialog mit; im Erfolgsfall erhalten Sie keine gesonderte Bestätigung.

KOffice steht nicht nach

Zum Erzeugen der IndeView-Ausgabe einer KPresenter-Präsentation wechseln Sie auf der Kommandozeile in ein (ggf. mit mkdir anzulegendes) leeres Verzeichnis, in dem die IndeView-Präsentation abgelegt werden soll, und starten das Creator-Modul mit dem Befehl kpr2iv.sh.

Falls Sie (wie bei den meisten Linux-Distributionen voreingestellt) die Bash verwenden, genügt es, statt kpr2iv.sh nur kpr2 zu schreiben und die [Tab]-Taste zu betätigen.

Das Creator-Modul prüft, ob KPresenter offen ist und Sie eine Präsentation geladen haben. Dann macht es sich daran, die Seiten zu exportieren und die Informations- und Steuerdatei(en) anzulegen: Kontrollausgaben auf der Kommandozeile informieren über den Fortschritt oder über eventuelle Fehler.

Der Testlauf

Um unliebsame Überraschungen zu vermeiden, schauen Sie sich die IndeView-Präsentation am besten noch einmal an. Wechseln Sie dazu mit dem Befehl cd in das beim Export als Zielort gewählte Verzeichnis, und starten Sie dort das IndeView-Anzeigeprogramm mit

BIN/LINUX/indeview

Damit das klappt, muss auf dem System die Bibliothek libXrandr.so.2 installiert sein, die erst bei XFree86-Versionen größer als 4.3 dabei ist. Das ist zum Beispiel bei Debian stable und testing nicht der Fall. Auch Suse 9.0 macht im Zusammenspiel mit KDE 3.2 vom KDE-FTP-Server Probleme: Da wollte der Viewer im Test partout nicht im (obligatorischen) Vollbildmodus starten.

Die Tabellen 2 und 3 sowie der Abschnitt “Präsentieren” weiter unten zeigen, wie Sie sich die Präsentation in verschiedenen Zoomstufen anschauen. Achten Sie beim Durchsehen vor allem darauf, dass die Schriftqualität überall sehr gut ist, alle Fotos korrekt skalieren und dass die Elemente jeder Seite auch bei höheren bzw. geringeren Auflösungen ihre relativen Positionen beibehalten.

Falls Fonts sehr pixelig aussehen oder zu kurz oder zu lang laufen, ersetzen Sie diese durch besser skalierbare Schriften: Bestimmen Sie in ihrem Präsentationsprogramm für die betreffenden Textpassagen eine andere Schriftfamilie, und exportieren Sie die Folien erneut ins IndeView-Format. Wählen Sie dabei das vorher verwendete Export-Verzeichnis, überschreibt der Creator die vorige, fehlerhafte Fassung.

Lassen sich einige in der Präsentation enthaltene Fotos partout nicht an die verschiedenen Darstellungsgrößen anpassen, löschen Sie die fehlerhafte Bilddatei testweise: IndeView skaliert dann die nächstgrößere Datei auf das erforderliche Maß herunter. Die betreffende Seiteninformationsdatei (siehe Abschnitt “IndeView für Poweruser”) führt die für eine bestimmte Seite verfügbaren Bilddateien mit ihren jeweiligen Dimensionen auf. Denken Sie deshalb daran, die entsprechende Zeile ebenfalls zu löschen, sonst meldet der Viewer einen Fehler.

Auf CD damit!

Beim Export kopieren die Creator-Module alle für die Präsentation notwendigen Dateien in das von Ihnen gewählte Verzeichnis, sodass die Erstellung einer IndeView-CD denkbar einfach wird: Brennen Sie einfach sämtliche Dateien und Unterverzeichnisse mit dem Brennprogramm Ihrer Wahl (z. B. k3b) so auf CD, wie sie im Präsentationsverzeichnis liegen. Deren Hauptverzeichnis enthält danach mindestens die in Tabelle 1 benannten Einträge.

Tabelle 1: Inhalt einer IndeView-CD

AUTORUN.INF Steuerdatei für den Autostart unter Windows
BIN/ Binärverzeichnis: enthält u. a. die Viewer-Programme
DATA/ Datenverzeichnis: enthält alle Daten der Präsentation INDEVIEW.RUN Steuerdatei für den Viewer

Unter Windows startet eine IndeView-CD automatisch, falls der Autostart-Betrieb für das CD-Laufwerk aktiv ist. Ansonsten öffnet ein Rechts-Klick auf das CD-Symbol das Kontextmenü, in dem Sie Autostart manuell anwählen. Mac-OS/X-User doppelklicken nach dem Einlegen der CD auf das CD-Symbol, in der CD-Inhaltsauflistung auf das Verzeichnis BIN, darin auf MAC_OSX und dann auf indeview, um das Programm zu starten. Unter Linux mounten Sie die CD wie gewohnt, wechseln ins Mount-Verzeichnis (z. B. /media/cdrom) und rufen dort BIN/LINUX/indeview auf.

Präsentieren

Nach dem Start liest IndeView die Steuerinformationen aus der Datei INDEVIEW.RUN ein und stellt die erste Seite dar. Mit der Funktionstaste [F1] blenden Sie einen Hilfebildschirm ein (Abbildung 3); die Tabellen 2 und 3 erläutern die dort gezeigte Tastatur- und Maustastenbelegung.

Abbildung 3: »F1« gibt Hilfe zur Tastenbelegung.

Abbildung 3: »F1« gibt Hilfe zur Tastenbelegung.

Tabelle 2: Maussteuerung des Viewers

linke Maustaste nächste Seite
rechte Maustaste vorige Seite
[Umschalten] und linke Maustaste letzte Seite
[Umschalten] und rechte Maustaste erste Seite
mittlere Maustaste Liste aller Seiten zur gezielten Anwahl (Abbildung 4)

Tabelle 3: Tastatursteuerung des Viewers

[Enter] / [Bild runter] / [Leertaste] nächste Seite
[Backspace] / [Bild hoch] vorige Seite
[Ende] letzte Seite
[Pos1] erste Seite
[L] Liste aller Seiten zur gezielten Anwahl
[+] / [Z] Bild vergrößern (hineinzoomen)
[-] / [Umschalten-Z] Bild verkleinern (herauszoomen)
[0] / [O] Zoomstufe zurücksetzen
[Pfeil rechts] / [Pfeil links] / [Pfeil hoch] / [Pfeil runter] Bild waagerecht bzw. senkrecht justieren
[5] Bild wieder zentrieren
[F1] Tastenbelegung anzeigen
[Esc] / [Q] Viewer beenden
Abbildung 4: Mit »L« blenden Sie die Liste zur Anwahl einer bestimmten Seite ein.

Abbildung 4: Mit »L« blenden Sie die Liste zur Anwahl einer bestimmten Seite ein.

Während herkömmliche Präsentationsprogramme die Funktionen “Zoomen” und “Justieren” normalerweise nicht im Repertoire haben, bietet IndeView sie an, um die in mehreren Auflösungen vorliegenden Bild-Dateien optimal zu nutzen: Anders als beim Zoomen eines Bildes in einem traditionellen Bildbetrachtungsprogramm liefert IndeView kein verschwommenes oder pixeliges Bild, sondern zeigt schlicht die entsprechende Bilddatei größerer Auflösung an. Falls Ihr Bildschirm (bzw. Beamer) nicht extrem hoch oder niedrig auflöst, steht Ihnen mindestens eine Zoomstufe in jede Richtung zur Verfügung, meist mehrere.

Die Justierfunktion zahlt sich insbesondere dann aus, wenn man das Bild auf der Leinwand verschieben muss: Das geht damit nämlich, ohne den Beamer zu berühren. [3] führt das Thema an drei Beispielen aus.

IndeView für Poweruser

Wer den Griff zum Texteditor nicht scheut, findet unter [4] weitere Tipps zum Manipulieren der Präsentation. So lassen sich zum Beispiel durch eine kleine Änderung an der Steuerdatei INDEVIEW.RUN, die Informationen zum Kontrollfluss der Präsentation enthält, Seiten überspringen. Dazu passen Sie den Wert hinter dem Eintrag next im zu einer bestimmten Seite gehörenden Abschnitt an. Setzt man next im Abschnitt zur letzten Seite auf Page0, erzwingt man eine endlos laufende Präsentation.

Im Verzeichnis DATA speichern die Creator-Module für jede Seite der Präsentation einen Satz an Bilddateien unterschiedlicher Auflösung sowie eine Seiten-Informationsdatei mit der Endung .INF, die unter anderem diese Bilddateien und den Titel der Seite vermerkt. Enthält eine bestimmte Seite ein gescanntes Foto, das sich von OpenOffice oder KOffice partout nicht korrekt skalieren lässt, so löschen Sie testweise die entsprechenden File-Einträge in der betreffenden Seiteninformationsdatei. Lassen Sie lediglich den Eintrag stehen, der auf die am ehesten korrekt gerenderte Bilddatei verweist. IndeView wird diese in Ermangelung einer Alternative auf Bildschirmgröße herunter bzw. hinauf skalieren.

Im Hauptverzeichnis der CD gibt die Datei AUTORUN.INF Auskunft über das zu startende IndeView-Programm; der Eintrag lautet standardmäßig open = BIN/WINDOWS/INDEVIEW.EXE. Durch Anhängen des Parameters --DONT-SCALE deaktivieren Sie die im vorigen Abschnitt beschriebene automatische Zoomfunktion für Seiten, die keine Bilddateien in passender Auflösung gespeichert haben. Alternativ gibt es die Möglichkeit, durch den Parameter --DONT-STRETCH die Breiten- bzw. Höhendehnung von Seiten zu verhindern, die nach dem Zoomen nur beinahe auf den Bildschirm passen.

Von dieser Möglichkeit sollten Sie aber nur dann Gebrauch machen, wenn Ihnen beim Testen eine unschöne Darstellung auffällt, die vom Dehnen herrührt. Normalerweise ist es sinnvoller, die Dehnung zuzulassen, denn IndeView verfügt über einen Prüfmechanismus, der verhindert, dass sich die Proportionen eines Bildes hierbei um mehr als 10 Prozent ändern. Unter normalen Umständen bemerken Zuschauer diese leichte Verbreiterung nicht, während die hierdurch vermiedenen häßlichen Balken neben, über oder unter dem Bild sehr wohl auffielen.

Die Autoren

Michael und Karl-Heinz Zimmer sind zwei begeisterte Linuxer von der schönen Mosel. Mehr über ihr Heimatdorf am Rande des Meulenwalds erfahren Sie unter http://www.fiehr.de/ und http://www.schloss-foehren.de/.

Glossar

Rendern
Erzeugen eines Pixelbilds aus vorher definierten geometrischen Objekten oder Texteinheiten. Dabei werden die jeweiligen Eigenschaften der Objekte und Texte in Beziehung zur gewünschten Beleuchtungsart gesetzt (z. B. bei dreidimensional wirkendem Text) und daraus ein Dia-ähnliches Bild errechnet.
Skript
Meist kurze Programme, die in einer sogenannten Interpreter-Sprache (z. B. Basic oder der Shell) geschrieben sind. Der Interpreter führt sie beim Aufruf sofort aus, sodass das Kompilieren als Zwischenschritt entfällt.
Qt
Eine C++-Klassenbibliothek zur Entwicklung plattformunabhängiger Programme. Sie bietet in erster Linie Klassen, aus denen sich Objekte der grafischen Oberfläche erzeugen lassen, aber auch vorgefertigten Code für allgemeine Aufgaben wie Druckersteuerung oder Datenbankenzugriff. Entwickelt wird Qt von der norwegischen Firma Trolltech AS; sie bildet u. a. die Grundlage für KDE.
cd –
Dieser Kommandozeilenbefehl wechselt vom aktuellen ins vorige Arbeitsverzeichnis. Im indeview-0.6.3-Ordner landen sie damit also nur dann, wenn Sie zuvor wie in Listing 1 von dort ins aktuelle Verzeichnis gegangen sind.
LinuxUser 04/2004 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