The HTML export module creates HTML code which is conform with HTML 3.2 specifications (with certain exceptions, see below for details).
How the export module works
The export module collects all objects of a printed file and sorts these in a big HTML table (the so-called layout grid) in their respective optical positions on the page. The column widths and row heights of this layout grid are the result of the total of the X- and Y-coordinates of all object rectangles. The user can decide (by use of the HTML export settings) if the column width of the layout grid is to displayed as absolute values (in Pixel) or as relative values (as a percentage of the current browser window size). The absolute positioning provides the advantage, that the designer layout is converted to HTML as precise as possible. The relative positioning usually allows the browser to better print the resulting file, as the browser can position the contents in order to e.g. be able to print its own headers, footers, etc., which would not be possible in an absolute layout and which sometimes produces a number of unwanted, additional pages. It is recommendable to position objects in the NotesToPaper designer along equal outer lines, as every new X- and Y-coordinate will lead to new columns respectively rows within the layout grid. The result will be a less complex (thus faster to be interpreted by a browser) layout grid. This will also prevent (especially for relative column positioning) the unforeseen horizontal positioning of objects, as small spaces between objects may be interpreted differently (as opposed to the pixel perfect, absolute layout). HTML version 3.2 does not support overlapping objects, which leads to restrictions for the export: If objects overlap in the design, then the export module will export only the object which is placed "lowest" in the order of objects, which is thus printed first. The other objects are simply ignored. The only exception to this rule are filled rectangle objects in the background, these are created by "coloring" the cell of the object positioned above.
Restrictions
In order to achieve a high level of "portability" of the created HTML code, cascading style sheets where not implemented, which however leads to a number of restrictions:
•Overlapping objects (excluding rectangles) are not supported and will be ignored
•HTML 3.2 does not provide lines, these are generated as graphics by the export module. This is however only true for exactly vertical and horizontal lines, all diagonal lines are ignored.
•Rectangles cannot have borders and transparent rectangles (with or without borders) are ignored.
•The decimal tab in text objects and tables is set to "align right".
•Tabs and multiple empty carriage returns are not supported.
•The option "word wrapping" in text objects and table columns is always activated in HTML (even if "clipping" was selected in the designer.
•Table borders cannot be converted to HTML correctly: Properties are valid either for the entire table or the table is shown with horizontal borders only.
•Thus the table object option "draw separator through" is not directly supported.
•In table rows the indent for first lines is ignored if activated.
•The table option "fixed size" is not supported.
•The chart object is exported as an image and may therefore not be shown as transparent.
•RTF formatted text is converted to HTML code by an RTFParser which will interpret the most important paragraph and character formatting and convert these accordingly. Extended formatting, such as automatic text numbers as well as embedded objects and graphics are not supported and thus ignored.
•Borders around text objects are not supported.
The following tags and attributes are used in addition to the HTML 3.2 standard:
•Setting a font for texts (<font FACE="...">)
•"Turning off" page margins for HTML pages: <body TOPMARGIN=0 LEFTMARGIN=0 which is Internet Explorer specific starting with Internet Explorer version 2.0
•<body TMARGINHEIGHT=0 MARGINWIDTH=0 is Netscape specific from Netscape version 3.0
•The forced total height of a table (<table border=0 width=793 HEIGHT=793 ...>)
•The background color for cells (<td BGCOLOR="#efefef">)
•The definition of a color for a table grid (<table BORDERCOLOR="#ff0000">) is Internet Explorer specific as of Internet Explorer version 3.0
•The definition of the line color for horizontal table lines (<hr COLOR="#ff0000">) is Internet Explorer specific as of Internet Explorer version 3.0
•If an HTML object is not exported as an image but as an HTML text, then the text of the object which is between the <BODY> and </BODY> tags is embedded in the resulting export file. The following restrictions will apply:
•Cascading stylesheets are not supported
•Page formatting such as margins, backgroundcolors, etc. is lost
•HTML does not provide scaling. Thus the layout of the resulting export file may differ significantly from the layout defined in the designer. Especially if e.g. the HTML object there includes a complete HTML page but the object size was scaled down.
•Even if the HTML object causes a page break, the resulting object will be output to a single page and a single file. The page break is simply ignored.
•Embedded scripts may be lost.
•RTF text that is rotated is not supported.