Das HTML Export-Modul erzeugt (mit wenigen Einschränkungen, s.u.) HTML Code gemäß HTML 3.2 Spezifikation.
Arbeitsweise des Export-Moduls
Das Export-Modul sammelt alle Objekte einer gerade gedruckten Seite zusammen und ordnet diese dann in einer grossen HTML-Tabelle (dem sog. Layout-Grid) gemäß ihrer optischen Anordnung auf der Seite an. Die einzelnen Spaltenbreiten und Zeilenhöhen dieses Layout-Grids ergeben sich aus den gesamten X- und Y-Koordinaten aller Objektrechtecke. Der Endanwender kann durch die HTML-Export Eigenschaften wählen, ob die Spaltenbreiten des Layout-Grids durch das Export-Modul prozentual (bezogen auf die aktuelle Browser-Fenstergröße) oder absolut (in Pixel) erfolgen soll. Eine absolute Anordnung hat den Vorteil einer optisch genaueren Umsetzung des Designer-Layouts in HTML, was bei prozentualem Layout nicht immer möglich ist. Eine prozentuale Anordnung hat den Vorteil, dass das Ergebnis hinterher vom Browser in der Regel besser ausdruckbar ist, da hier der Browser den Inhalt in der Größe anpassen kann, um seine eigenen Kopf-/Fußzeilen u.Ä. zu drucken, was bei einem absolutem Layout nicht möglich ist und woraus oftmals mehrere ungewollte Seiten resultieren. Da jede unterschiedliche X- bzw. Y-Koordinate eine neue Spalte bzw. Zeile im Layout-Grid bewirkt, sollte man im Designer darauf achten, die Objekte möglichst an gleichen Kanten auszurichten. Dies resultiert dann zum einen in einem weniger komplexen (und damit auch vom Browser schneller darstellbaren) Layout-Grid, zum anderen (insbesondere bei der prozentualen Spaltenanordnung) verhindert es ggf. eine unvorhergesehene horizontale Anordnung von Objekten, da sich kleine Lücken zwischen Objekten prozentual unterschiedlich stark niederschlagen können (im Gegensatz zu absolutem, pixelgenauem Layout). HTML unterstützt in der Version 3.2 keine überlappenden Objekte, so dass hier Einschränkungen beim Export gegeben sind: Wenn Objekte sich im Design überlappen, dann exportiert das HTML Export-Modul lediglich das Objekt, welches in der Objektanordnung "am tiefsten" liegt, also zuerst gedruckt wird. Die anderen Objekte, welche darüber gedruckt würden, werden ignoriert. Einzige Ausnahme: Gefüllte Rechteckobjekte im Hintergrund; diese werden durch "Einfärben" der Zelle des darüberliegenden Objektes realisiert.
Einschränkungen
Um eine hohe Portabilität des erzeugten HTML-Codes zu erreichen, wurde auf den Einsatz von Cascading Stylesheets verzichtet, wodurch allerdings diverse Einschränkungen in Kauf genommen werden müssen:
•Überlappende Objekte (abgesehen von Rechtecken) werden nicht unterstützt und ignoriert.
•HTML 3.2 kennt keine Linien, diese werden durch das Export-Modul als Grafik realisiert. Dies geschieht allerdings lediglich für genau vertikale und horizontale Linien, alle diagonalen Linien werden ignoriert.
•Rechtecke können keinen Rahmen haben und transparente Rechtecke (egal ob mit Rahmen oder ohne) werden ignoriert.
•Der Dezimaltabulator in Textobjekten und Tabellen wird auf 'rechtsbündig' umgesetzt.
•Tabulatoren und mehrere aufeinanderfolgende Leerzeichen werden nicht unterstützt.
•Zeilen- und Absatzabstände werden nicht unterstützt.
•Die Option 'Wortumbruch' in Textobjekten und Tabellenspalten ist bei HTML immer aktiv (auch wenn 'abschneiden' im Designer gewählt wurde).
•Tabellenrahmen sind nicht detailliert auf HTML abbildbar: Entweder global für die ganze Tabelle, oder nur mit horizontalen Trennlinien,
demnach wird die Tabellen-Objekt-Option "Separatoren Durchziehen" nicht direkt unterstützt.
•In Tabellenzeilen wird der ggf. vorhandene Abstand von links für die 1. Spalte ignoriert.
•Die Tabellenoption "fixe Größe" wird nicht unterstützt.
•Das Chart -Objekt wird als Bild exportiert und kann daher nicht transparent erscheinen.
•Die Umsetzung von formatiertem RTF-Text in HTML-Code erfolgt über einen RTFParser, der die wichtigsten Absatz- und Zeichenformatierungen interpretiert und entsprechend umsetzt. Erweiterte Formatierungen, autom. Nummerierungen, sowie eingebettete Objekte und Grafiken werden nicht unterstützt und ignoriert.
•Rahmen um Textobjekte werden nicht unterstützt
Folgende über den HTML 3.2 Standard hinaus verwendete Tags oder Attribute werden verwendet:
•Angabe eines Fonts für Text (<font FACE="...">)
•Das Ausschalten des Seitenrandes für die HTML Seiten: <body TOPMARGIN=0 LEFTMARGIN=0 ist Internet Explorer spezifisch ab der Internet Explorer Version 2.0
•<body TMARGINHEIGHT=0 MARGINWIDTH=0 ist Netscape spezifisch ab der Netscape Version 3.0
•Die erzwungene Gesamthöhe einer Tabelle (<table border=0 width=793 HEIGHT=793 ...>)
•Die Hintergrundfarbe für Zellen (<td BGCOLOR="#efefef">)
•Die Einstellung der Linienfarbe für das Tabellengitter (<table BORDERCOLOR="#ff0000">) ist Internet Explorer spezifisch ab der Internet Explorer Version 3.0
•Die Einstellung der Linienfarbe für horizontale Tabellen-Linien (<hr COLOR="#ff0000">) ist Internet Explorer spezifisch ab der Internet Explorer Version 3.0
•Wenn das HTML Objekt nicht als Bild, sondern als HTML Text exportiert wird, dann wird der HTML Text des Objektes, der sich zwischen den <BODY> und </BODY> Tags befindet, in das Exportresultat eingebettet. Damit ergeben sich zwangsläufig u.a. folgende Einschränkungen:
•Ggf. verwendete Cascading Stylesheets werden nicht unterstützt.
•Seitenformatierungen, wie Ränder, Hintergrundfarbe u.a. gehen verloren.
•HTML erlaubt keine Skalierung, daher kann sich das Layout des Exportergebnisses signifikant vom Layout im Designer unterscheiden. Insbesondere falls dort bsw. das HTML Objekt eine komplette HTML Seite enthält, aber von der Objektgröße her kleiner skaliert wurde.
•Auch wenn das HTML-Objekt einen Seitenumbruch auslöst, wird das exportierte Objekt auf einer Seite/in einer Datei ausgegeben. Ein Umbruch wird ignoriert.
•Eingebettete Scriptfunktionalitäten können verloren gehen.
•Gedrehter RTF-Text wird nicht unterstützt