Das wichtigste Format des Web ist HTML, doch viele Daten liegen in anderen Dateiformaten vor, als Office-Dokumente, Tabellen, Acrobat- oder gar ASCII-Dateien. Dieser Artikel behandelt Konvertierungsmethoden.
Interessant ist bei der Konvertierung verschiedenster Dokumenttypen nach HTML nicht nur das “wie” sondern auch das “wie gut”: So verfügen die meisten Office-Pakete (unter Linux und Windows) zwar über eine HTML-Export-Option, die Ergebnisse sind aber oft unbefriedigend.
Microsoft Word
Für die Konvertierung von Word-Dokumenten gibt es verschiedene Möglichkeiten. Zum einen bietet Word (2000) unter dem Menüpunkt Datei/Als Webseite speichern eine eigene Konvertierungsfunktion. Die damit erstellten HTML-Dateien lassen sich im Web-Browser gut betrachten, sind aber für die Weiterbearbeitung nicht sonderlich gut geeignet, da diverse Styles definiert und laufend im Fließtext verwendet werden; so werden etwa die einzelnen Elemente einer Auflistung nicht einfach durch
<li>Text</li>
sondern durch eine Zeile der Form
<li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'>Text</li>
präsentiert. Um schnell eine Word-Datei ins Netz zu stellen, ist dies eine praktikable Möglichkeit; sie erfordert aber eine Windows- und Word-Installation.
Wer die HTML-Dateien noch weiter bearbeiten möchte oder keinen Zugriff auf MS Word hat, der wird sich für Alternativen interessieren. Eine davon ist das Programm word2x. Die aktuelle Version 0.005 finden Sie im Web unter http://word2x.alcom.co.uk/. Im Test ließ sich ein Word-8-Dokument nicht konvertieren (die Ausgabe war leer). Speziell für das aktuelle Word-8-Format gibt es das Tool wv (früher mswordview genannt); dessen Homepage ist http://www.wvWare.com/. Sind die wv-Tools aktiviert, lässt sich über den Befehl
wvHtml test.doc test.html
eine Datei konvertieren. Die Ergebnisse der Konvertierung sind allerdings noch enttäuschender als beim Abspeichern unter Word: Das oben besprochene, einfache Auflistungselement nimmt hier die folgende Form an:
<li><p><div align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Text </p></div></li>
Dazu kommt noch, dass Überschriften nicht HTML-konform als <h1>, <h2> etc. ausgezeichnet sind. Die wv-Tools bieten neben Word noch LaTeX, PostScript, PDF und weitere Formate für die Ausgabe an, aber auch das von wvLaTeX generierte LaTeX-Format lässt sich mit latex2html (siehe unten) nicht in brauchbares HTML umwandeln.
StarOffice
Wie Word bietet auch das Textmodul von StarOffice einen HTML-Export an. Dieser erzeugt durchaus brauchbares HTML, und so kann über StarOffice natürlich auch eine Word-Datei exportiert werden. Zum Exportieren wählen Sie einfach Datei/Speichern unter und dann das Dateiformat HTML (StarOffice Writer).
Tabellen
Zu den wichtigen Office-Dokumenten gehören gleich nach Textdateien die Erzeugnisse der diversen Tabellenkalkulationen, an vorderster Stelle Excel und StarCalc. Wie bei den Textprogrammen betrachten wir zunächst die Export-Funktionen.
Den ersten Test haben wir mit MS Excel 2000 durchgeführt. Als Dokument wurde eine simple Tabelle mit drei Spalten und Spaltensummen erzeugt. Diese wurde dann als HTML-Datei gespeichert. Das Ergebnis sieht im Web-Browser ordentlich aus: Die Summenformel wurde aufgelöst (d. h. die Ergebniswerte wurden übernommen), und Formatierungen wie fett oder farbig blieben erhalten. Ähnlich wie beim Word-Dokument wird hier eine sehr große Datei erzeugt (8194 Bytes für unter 800 Bytes an Information), wobei der größte Teil von Stildeklarationen in Anspruch genommen wird. Für ein späteres Wiedereinlesen in Excel werden die Formeln mitgesichert: So hat ein Summenfeld hier den Aufbau
<td class=xl29 align=right x:num="41.96" x:fmla="=SUM(D5:D9)">41,96</td>
Das ist nützlich für andere Excel-Anwender. Ein Fehler bei der Konvertierung fiel auf: Während die Zahlenspalten in Excel rechtsbündig (Format ###,##) formatiert waren, wanderten sie linksbündig in die HTML-Datei.
Nach Excel war StarCalc, die Tabellenkalkulation aus dem StarOffice-Paket, der nächste Kandidat. Das Speichern der gleichen Tabelle erzeugte eine etwas kleinere HTML-Datei, 3572 Bytes groß. Hier hat ein Tabelleneintrag die Form
<TD WIDTH=86 HEIGHT=17 ALIGN=RIGHT SDVAL="41,96" SDNUM="1031;"><B><FONT COLOR="#0000FF">41,96</FONT></B>/lt;/TD>
Es wurde auf die Deklaration von Stilen verzichtet; als Konsequenz sind die Formatoptionen für jedes Feld separat anzugeben. Die Rechtsbündigkeit der Zahlenfelder wurde übrigens korrekt übernommen. StarOffice speichert die Formeln nicht mit ab; beim Reimport in StarCalc sind sie also verloren.
Jeder, der eine Tabelle per Mail erhält und weder StarOffice noch Excel zur Hand hat, wird sich über ein Tool freuen, das die Konvertierung nach HTML ohne den Start eines Office-Pakets ermöglicht. Diesen Service bietet xlHtml (http://www.xlhtml.org/), die aktuelle Version ist 0.2.8. Das Programm lässt sich wie üblich mit ./configure; make; make install übersetzen und installieren und produziert bei einem Aufruf der Form
xlHtml test.xls > test.html
eine erst auf den zweiten Blick brauchbare Tabelle: Die meisten Felder erscheinen in weißer Schrift auf weißem Hintergrund, sind also nicht lesbar. Erst nach Ändern der Farbgebung ließ sich hier etwas erkennen. Die Tabelleninhalte sind aber korrekt.
Das deutsche Dezimalkomma wurde durch den amerikanischen Dezimalpunkt ausgetauscht (also 12.34 statt 12,34), und die Summen wurden korrekt berechnet, jedoch mit einer Warnung versehen, dass sie eventuell fehlerhaft sind – dies lässt sich über den Parameter -fw (“suppress formula warnings”) unterdrücken. Die erzeugte HTML-Datei ist mit 2705 Bytes noch kleiner als die von StarOffice, was auf minimale Formatierung zurückzuführen ist: Hier hat ein Feld die Form
<TD><FONT COLOR = "00FF00"><B>41.96</B></FONT></TD>
Diese Syntax für das FONT-Attribut ist falsch; es muss richtig font color=”#00FF00″ heißen. Da auch die Farben nicht richtig erkannt wurden (blaue Schrift wurde grün, schwarze weiß), bietet es sich an, die Farben gänzlich zu ignorieren – dazu bietet xlHtml die Option -nc (“no colors”), und das Ergebnis ist nun reines, einfaches HTML, das sich sehr gut zur Weiterbearbeitung eignet:
<TD><B>41.96</B></TD>
Auch die Option -te (“trimm edges”) ist nützlich: Sie entfernt leere Spalten und Zeilen in der linken oberen Ecke des Dokuments. Auffällig war, dass xlHtml es mit der Quelle einer Excel-Datei sehr genau nimmt: Eine in StarCalc als Excel-Dokument gespeicherte Datei lieferte in den Summenfeldern nur Nullen, während ein von Excel selbst gesichertes Dokument fehlerfrei konvertiert wurde.
In Abbildung 1 sehen Sie die Netscape-Darstellung der verschiedenen konvertierten Dateien.
LaTeX
Das freie Textsatzsystem LaTeX (http://www.dante.de/tex/) hat vor allem bei den Naturwissenschaftlern viele Freunde, lassen sich doch damit auch komplexe Formeln schnell und perfekt für die Seminar- oder Diplomarbeit erstellen. Dank LyX kann man auch auf das Erlernen der LaTeX-Syntax verzichten und mit einer gewohnten Textverarbeitungs-Umgebung Dokumente erstellen (http://www.lyx.org/). LaTeX verwendet eigene Markup-Befehle, die in ihrer Struktur eine gewisse Ähnlichkeit mit HTML selbst haben; so bietet sich eine automatische Konvertierung von LaTeX-Dateien nach HTML an. Genau das leistet latex2html (http://saftsack.fs.uni-bayreuth.de/~latex2ht/), und bei größeren Dokumenten kann man hier wählen, ob eine einzige HTML-Datei erstellt werden soll (Option -split 0) oder jeder Abschnitt, Unterabschnitt etc. in einer separaten Datei landet. Der erzeugte HTML-Code ist sehr sauber, und Inhaltsverzeichnisse, Fußnoten und Querverweise werden korrekt übernommen.
PDF als Grafik?
Der Konverter pdf2html geht den Weg des geringsten Widerstandes: Anstatt die Daten eines PDF-Dokuments (PDF: Portable Document Format, ein Standard von Adobe) zu analysieren und als HTML aufzubereiten, wandelt er einfach die einzelnen PDF-Seiten in png-Grafiken um und erzeugt umgebende HTML-Seiten. Das ist schnell und einfach, erlaubt aber keine Analyse der Daten durch den Betrachter der Web-Seiten. Das Programm findet sich unter http://atrey.karlin.mff.cuni.cz/~clock/twibright/pdf2html/.
Das ähnlich benannte Tool pdftohtml geht einen anderen Weg: Hier werden die PDF-Daten wirklich analysiert und in HTML-Text umgewandelt. Dabei erkennt pdftohtml auch Links in PDF-Dateien. Abbildungen werden ebenfalls aus der Datei extrahiert und an passender Stelle in die HTML-Datei eingebaut. Die Darstellungsqualität ist nicht berauschend (jegliche Formatierungsinformationen werden ignoriert), aber zumindest kann die erstellte Datei als Ausgangspunkt für eigene Anpassungen dienen – allerdings hat das Tool die merkwürdige Angewohnheit, im erzeugten HTML-Code nur jeweils ein Wort in eine Zeile zu setzen. http://www.ra.informatik.uni-stuttgart.de/~gosho/pdftohtml/
Warum sollte man E-Mails nach HTML konvertieren? Diese Option ist z. B. für den Verwalter einer Mailing-Liste interessant, der die Postings auch der Öffentlichkeit über eine Web-Seite verfügbar machen möchte. Das Paket Hypermail, http://www.hypermail.org/, erlaubt die Konvertierung einer Mbox-kompatiblen Mail-Datei (wie sie etwa von Netscape Mail, Kmail, mutt und elm erzeugt wird). Um ein neues Verzeichnis mit den aus einer Mailbox generierten HTML-Dateien zu erzeugen, verwenden Sie einfach die Befehle
mkdir /tmp/hypermail hypermail -m ~/Mail/Incoming -d /tmp/hypermail
Das Programm erzeugt im angegebenen Verzeichnis nun für jede einzelne Mail eine separate HTML-Datei und zusätzlich Übersichtsdateien für Sortierung nach Thread, Datum, Thema, Autor und Attachments. Letztere landen übrigens in separaten Unterverzeichnissen: So ist ein schneller Zugriff auf alle Attachments möglich – die HTML-Datei einer Mail mit Attachment enthält nicht mehr dessen kodierte Form sondern Links auf die Dateien im zur Mail gehörenden Verzeichnis. Dies ist auch für Archivierungszwecke äußerst praktisch. Ein Beispiel für die Thread-Übersicht findet sich in Abbildung 2.
PostScript
Viele Dokumente liegen im PostScript-Format vor. Auch für diese Dokumentklasse gibt es HTML-Konverter, wie z. B. das Pscript Document Publishing System, http://www.ubka.uni-karlsruhe.de/~guenter/pscript/. Von den Ergebnissen darf man sich aber nicht allzuviel erhoffen, da auch Elemente wie Kopf- und Fußzeilen oder Seitenzahlen einfach in das erzeugte HTML eingebaut werden. Wie beim PDF-Konvertierer werden auch hier jegliche Formatierungen ignoriert.
ASCII-Dateien
Auch reine ASCII-Dateien sind gelegentlich anzutreffen, etwa längere HOWTOs oder Readme-Dateien. Diese enthalten nun überhaupt keine Markup-Informationen, aus denen sich etwas über die Struktur ableiten ließe. Dennoch gibt es Tools, die sich an diese Aufgabe heranwagen. So bietet etwa txt2html (http://members.tripod.de/bytebeater/txt2html.pl.zip) die Möglichkeit, anhand von Vorlagen vorab etwas über die Struktur der Textdatei anzugeben. t2t (http://216.254.0.2/~dogbert/t2t/) versteht sich auf das Auswerten von Tabellen in ASCII-Dateien. Viele Datenbanken und Tabellenkalkulationen bieten einen Export in das Format “Tabulator-getrenntes ASCII” an – solche Tabellen bearbeitet t2t mühelos.
Magere Beute?
Die Resultate der freien Konvertierungs-Tools sind nicht immer überzeugend, so dass in vielen Fällen eine manuelle Nachbearbeitung notwendig ist – zum Beispiel in einem der in dieser Ausgabe ab Seite 23 besprochenen HTML-Editoren. Entscheidend ist aber, dass sich die Daten überhaupt in HTML umwandeln lassen; denn die Nachbearbeitung ist sicher leichter als das Übertragen der Daten per Copy & Paste mit anschließender Neuformatierung. Viel Erfolg beim Generieren Ihrer Web-Inhalte.





