Verwandlungskünstler
Kommandozeilenkonverter für Office-Formate
Unlesbare Hilfe …
Ein zunehmendes Ärgernis sind die immer häufiger vorkommenden chm-Dateien. Ob Prospekte oder Anleitungen zu neu gekaufter Hardware – immer mehr Anbieter meinen, dem Benutzer mit diesem Format etwas Gutes zu tun. Auf jedem neuen Windows-System mit Bordmitteln lesbar, schauen Linux- und Windows-95-Nutzer jedoch erst einmal in die Röhre.
Zwar keinen fertigen Konverter, jedoch eine Schnittstelle zum Zugriff auf chm-Dateien bietet die chmlib [7]. Außer der für Programmierer interessanten Bibliothek selbst liefert der Autor einige, allerdings nicht sehr komfortable, Beispielanwendungen mit.
Tückenreich gestaltet sich auch die Installation der Bibliothek: Die erste Falle lauert im Makefile, das das Programm gcc-3.2 als Compiler vorsieht. Falls Sie diese Version nicht nutzen, ändern Sie die Zeilen
CC=gcc-3.2 LD=gcc-3.2
in
CC=gcc LD=gcc
Sofern der gcc bei Ihnen installiert ist, sollte er im Suchpfad der Shell liegen, und sei es nur in Form eines Links auf die eigentliche Programmdatei. Für Übersetzung und Installation sorgen im Anschluss die Aufrufe von make und make install, wovon letzteres durch root erledigt werden muss. Ist das geschafft, verfügen Sie jedoch immer noch nicht über die Beispielanwendungen. Dafür müssen Sie zunächst im Source-Verzeichnis der chmlib den Befehl
make examples
aufrufen und die entstandenen Programme enum_chmLib, test_chmLib, extract_chmLib und enumdir_chmLib als Superuser root ins Verzeichnis /usr/local/bin kopieren.
…lesbar gemacht
Um den gesamten Inhalt einer chm-Datei zu extrahieren, rufen Sie nun
extract_chmLib hilfe.chm Ausgabeverzeichnis
auf. Anschließend enthält das Ausgabeverzeichnis HTML-Dateien mit dem Inhalt der chm-Datei, jedoch müssen Sie meistens auf einen Navigationsindex verzichten. Zumindest funktionieren die in den HTML-Files angegebenen Links, und auch Bilder werden dargestellt.
Das Programm enum_chmLib listet die Inhalte einer chm-Datei aus. Daran sieht man recht gut, dass eine solche Datei intern über eine Art Verzeichnisbaum verfügt. Merken Sie sich einen der Pfade, so lassen sich mit dem Befehl
test_chmLib hilfe.chm /wunschdatei.htm ausgabe.html
auch einzelne Dateien extrahieren. Dieses Prozedere hat natürlich den Nachteil, dass Links in der exportierten Datei mangels extrahierter Zieldateien ins Leere zeigen.
Bei all diesen Bemühungen vergisst man jedoch allzu leicht, dass diese Verrenkungen gar nicht nötig wären, würden Verfasser von Dokumenten ein wenig mehr Rücksicht walten lassen. Wollen Sie selbst mit gutem Beispiel vorangehen und zur Reduzierung des Formatchaos beitragen, finden Sie in Kasten 1 Hinweise, wie Sie PDF-Dokumente erstellen, die auf fast jedem System lesbar sind.
Kasten 1: Formatchaos vermeiden @KL:Mit PDF steht ein Format zu Verfügung, welches wohl auf nahezu jedem System gelesen werden kann. Für die Weitergabe von Dokumenten, auf die nur Lesezugriff nötig ist, bietet sich das "<I>P<I>ortable <I>D<I>ocument <I>F<I>ormat" also geradezu an. Eine einfache Möglichkeit zur PDF-Erstellung besteht darin, Office-Anwendungen in eine Datei drucken zu lassen und das Ergebnis mittels <I>ps2pdf<I> in eine <I>pdf<I>-Datei umzuwandeln. Nicht weiter verwunderlich geht auch das auf der Kommandozeile vonstatten, z. B. mit dem Befehl
ps2pdf dokument.ps ausgabedokument.pdf
ps2pdf gehört zum ghostscript-Paket und ist daher wahrscheinlich schon auf Ihrem System installiert.
Noch leichter haben es Benutzer neuerer KDE-Versionen, da sie direkt in eine pdf-Datei drucken können. Gehören auch Sie zu den Glücklichen, wählen Sie im Druckdialog der KDE-Anwendung statt Ihres Druckers den Eintrag Print to File (PDF).
Glossar
XML
Bei der "Extensible Markup Language" handelt es sich um eine Metasprache zur Definition von Dokumenttypen. Anders als HTML kennt XML nicht nur Tags für Format- und Strukturanweisungen, sondern auch semantische Tags, die rein beschreibenden Inhalt haben.
chm
Abkürzung für "Compiled HTML Manual". Der Vorteil dieses Hilfeformats neuerer Windows-Versionen gegenüber reinem HTML liegt in der Kompression und der damit verbundenen Platzersparnis begründet. Zusätzlich stehen unter Windows erweiterte Funktionen, wie eine Navigationshilfe in Form eines Strukturbaums, zur Verfügung.
Infos
[2] http://wvware.sourceforge.net/
[3] http://www.winfield.demon.nl/
[4] Christian Perle: "Dagegen!", LinuxUser 10/2001, S. 84 f., http://www.linux-user.de/ausgabe/2001/10/084-ootb/antiword-1.html
[5] Christian Perle: "Exzellent", LinuxUser 06/2002, S. 66, http://www.linux-user.de/ausgabe/2002/06/066-ootb/xlhtml-1.html
[6] http://chicago.sourceforge.net/xlhtml
[7] http://66.93.236.84/~jedwin/projects/chmlib
[8] http://massaint.com/sxw2html.tar.gz
[9] http://massaint.com/sxw2txt.tar.gz
[10] http://sdw2txt.sourceforge.net/



