Uli Webster Weber: Druckversion mit Includes - Druckversion aus Frames ?

Hallo Forum!

Ich habe mich an einer "Kleinigkeit" festgebissen, die mir noch die Nerven raubt ...:
Ich habe vor, die Texte unserer Firmenseite in eine Druckversion einzubauen, die
von der Aufmachung her unserem Briefpapier entspricht, also links der Text, rechts
ein Logo, Adresse, Telefon usw. ... wo weit, so schlecht.

Schön einfach wäre es gewesen, die Textseite zu nehmen und als QueryString an
eine "Print"-Seite zu übergeben - als Server sided Include oder was auch immer.
SSIs werden leider vor ASP-Statements ausgeführt, desterwegen musste ich diese
Idee recht schnell begraben.

Jetzt habe ich einen zweiten Ansatz versucht: Der Text wird in einen speziellen
Frameset geladen. Immerhin lief der Ausdruck schon mal mit dem NN4.7, IE5
mochte nur den aktiven Frame drucken und Mozilla5 schoss den Rechner ab ... :-(

Kennt jemand von euch eine Cross-Browser-fähige Möglichkeit für mein Prob ???

Danke schon mal,
Uli

  1. Schön einfach wäre es gewesen, die Textseite zu nehmen und als QueryString an
    eine "Print"-Seite zu übergeben - als Server sided Include oder was auch immer.
    SSIs werden leider vor ASP-Statements ausgeführt, desterwegen musste ich diese
    Idee recht schnell begraben.

    Jetzt habe ich einen zweiten Ansatz versucht: Der Text wird in einen speziellen
    Frameset geladen. Immerhin lief der Ausdruck schon mal mit dem NN4.7, IE5
    mochte nur den aktiven Frame drucken und Mozilla5 schoss den Rechner ab ... :-(

    Hallo,

    wo liegt denn das Problem mit Include-Files ???
    Statements in Include-Dateien werden vorher
    geprüft, aber nicht unbedingt vorher ausgeführt !!!
    Außerdem gibts ja dann noch die Möglichkeit,
    Subs oder Funcions zu schreiben, die die Aktionen
    bei Aufruf durchführen.

    Ich nehme an, Du generierst die Datei (oder
    deren Inhalt) sowieso dynamisch. Dann kannst Du
    auch ganz einfach eine Print-Datei so erzeugen.
    Die Struktur der Seite kannst Du ja mit Tabellen
    vorbereiten und in die entsprechenden Zellen den
    Inhalt einfügen.
    Eigentlich macht die Print-Seite dann genau dasselbe
    wie die "normale" Ausgabeseite, die Daten werden
    lediglich anders dargestellt.

    Tschau, Stefan

    1. Moin Stefan,

      wo liegt denn das Problem mit Include-Files ???

      das zentrale Problem ist, dass Zeilen wie
      <!--#include file = <%=Request.QueryString%>-->
      nicht laufen. Zitat aus "Active Server Pages" von
      S.Hettihewa: "Sie können ASP-Statements nicht dazu
      benutzen, um eine neue Datei zu generieren, da ASP-
      Statements erst nach externen Dateien ausgeführt
      werden."
      Leider hat der Autor recht ...

      Ich nehme an, Du generierst die Datei (oder
      deren Inhalt) sowieso dynamisch. Dann kannst Du
      auch ganz einfach eine Print-Datei so erzeugen.
      Die Struktur der Seite kannst Du ja mit Tabellen
      vorbereiten und in die entsprechenden Zellen den
      Inhalt einfügen.
      Eigentlich macht die Print-Seite dann genau dasselbe
      wie die "normale" Ausgabeseite, die Daten werden
      lediglich anders dargestellt.

      Hmmm, um die 90% der Inhaltsseiten sind statisch, nur
      ein Footer wird als Include eingebaut. Mein erster Ansatz
      war, die self.location.href als QueryString an eine Print-
      Seite zu übergeben, die dann den Text in einer Blind Table
      darstellt. Aber: Siehe oben ... :-(
      Ich werde jetzt erst mal versuchen, das Pferdchen von der
      anderen Seite her aufzuzäumen, die Seite sich also selbst,
      mit den zusätzlichen Teilen für die Print-Page als Include,
      aufrufen zu lassen (meine Fresse, was für ein Satz... ;-)

      Horrido, Uli

      1. Moin Stefan,

        wo liegt denn das Problem mit Include-Files ???

        das zentrale Problem ist, dass Zeilen wie
        <!--#include file = <%=Request.QueryString%>-->
        nicht laufen. Zitat aus "Active Server Pages" von
        S.Hettihewa: "Sie können ASP-Statements nicht dazu
        benutzen, um eine neue Datei zu generieren, da ASP-
        Statements erst nach externen Dateien ausgeführt
        werden."
        Leider hat der Autor recht ...

        Heyho,

        wenn Du lediglich statischen Inhalt einer HTML-Datei ausgeben
        willst, machs doch einfach so:

        <%
        Dim strPageName
            strPageName = Request("PageName")
        Set objFileSys = Server.CreateObject("ADODB.Recordset")
            Set objFile = objFileSys.OpenTextFile(Server.MapPath(".") & "/" & strPageName, 1, False, 0)
                strContent = objFile.ReadAll
                objFile.Close
            Set objFIle = Nothing
        Set objFileSys = Nothing
        %>
        Hiermit kannst Du den Inhalt der Datei auslesen und
        Ihn an geeigneter Stelle wieder ausgeben.

        Als Parameter kannst Du ja den Namen der Datei mitgeben.
        Wenn Sie im aktuellen Pfad liegt, kannst Du o.a. Skript
        direkt verwenden (wenn nicht der Feuertehfel zugeschlagen
        hat)

        Tschau, Stefan