Michael Schröpl: HTML, MYSQL, PHP3, JavaScript - Download Textfile (ASCII, *.txt oder *.pdf)

Beitrag lesen

Die Textfiles (ASCII, *.txt oder *.pdf  - je nachdem, was einfacher zu programmieren ist) sollen beinhalten: den gesamten  Text-Inhalt (auch in Tabellen-Form) der zu sehenden HTML-Seite (außer Bilder, Links etc.).
Bisher würde ich dieses nur durch aufwendige Programmierung  (u. a. definieren der Seitengröße, Zeilenbreite , Umwandlung sämtlicher Sonderzeichen, Tabellen 1:1 umsetzen etc.) realisieren können oder den Surfer bitten, über den Browser die Datei als Textfile zu speichern (letzteres soll aber nicht gemacht werden, obwohl das Ergebnis hervorragend ist).

Hm ... ich fürchte, Deine Aufgabenstellung ist geringfügig unterspezifiziert.

Das Problem ist, daß es in HTML ebenso wie in ASCII weit mehr als *eine* Repräsentationsform für Deine Daten gibt (allein die Existenz dieses Forums beweist das). Durch das Auscodieren der Reports in HTML durch Deine Datenbank-Skripts hast Du Dich für ein bestimmtes Layout entschieden - es hätte genausogut völlig anders aussehen können.
Bestimmte Dinge sind in HTML natürlich leichter zu formatieren als in ASCII, weil die zur Verfügung stehenden Sprachmittel mächtiger sind und der Browser beim Layouten kräftig mithilft.

Die naheliegende Lösung scheint mir aber wirklich zu sein, während der Generierung Deiner HTML-Seiten parallel - am besten durch dasselbe Skript - auch die ASCII-Seiten zu generieren. Vielleicht kannst Du bestimmte Layout-Tasks standardisieren - etwa die Ausgabe einer "Tabelle" in HTML (<TABLE>) und ASCII (Spaltenbreite ggf. dynamisch aus dem Inhalt berechnen usw.), und diese generischen Routinen dann nur einmal implementieren, aber in vielen Reports immer wieder verwenden.

Vielleicht aber gibt es auch andere Datenformate, die Deine Anforderungen erfüllen - warum muß es denn genau ASCII sein? Was machen Deine Datenempfänger mit den Daten?
Nur als Beispiel: Auch CSV (comma separated ..., ein gängiges Format für Tabellenkalkulationen) enthält ggf. genügend Mächtigkeit, um Deine Daten darzustellen - konkrete Layout-Eigenschaften werden bewußt *nicht* ausgeprägt, damit sowohl Lotus 1-2-3 als auch Excel mit den Daten etwas Sinnvolles anfangen können.

Vielleicht ist "ASCII" mit all seinen Problemen und Freiheitsgraden gar nicht der Weg zum Ziel - und wie lautet das Ziel in Wirklichkeit?