pfadfinder36: Druckversion mit print() drucken

Hallo zusammen,

ich habe für meine (Intranet-)Site zusätzlich eine Druckversion erstellt. Die Druckversion besteht aus eigenständigen Seiten (also nicht über den Austausch von Stylesheets).

Auf jeder Seite steht ein normaler Link, der die entsprechende Seite der Druckversion aufruft.

Nachteil: Die Nutzer müssen im Browser über Datei->Drcuken die Seite ausdrucken.

Ich würde das jetzt gerne so realisieren, dass der Nutzer nach Klick auf den Link "Druckversion" sofort in den Druckdialog kommt.

Wie ich weiss geht sowas mit der Javascript Funktion print().

Meine Frage nun:
Wie kann ich der Funktion mitgeben, dass sie nicht die aktuelle Seite, sondern die Seite der Druckversion aufrufen soll.

Danke
Pfadi

  1. Hello,

    Wie kann ich der Funktion mitgeben, dass sie nicht die aktuelle Seite, sondern die Seite der Druckversion aufrufen soll.

    meines Wissens gar nicht, aber du kannst die Logik umdrehen. Platziere an das Ende der entsprechenden Druckversion einen Skript-Block:
    <script type="text/javascript">
       self.print();
    </script>

    MfG
    Rouven

    --
    -------------------
    Unser Problem ist, dass wir eine Demokratie entwickelt haben, was nicht immer der richtige Weg ist  --  Bernie Ecclestone zu den lästigen Diskussionen um Regeländerungen in der Formel 1
    1. Hi Rouven,
      vielen Dank! Funktioniert perfekt.
      Gruß Pfadi

      <script type="text/javascript">
         self.print();
      </script>

  2. Hi Pfadi,

    Wie kann ich der Funktion mitgeben, dass sie nicht die aktuelle Seite, sondern die Seite der Druckversion aufrufen soll.

    Indem Du bei der Druckversion-HTML-Seite im BODY-Tag folgendes einfügst:

    <HTML>
    <BODY onLoad="meine_druck_funktion()">
    ...
    <SCRIPT>
    function meine_druck_funktion() {
      print();
    }
    </SCRIPT>
    ...
    </BODY>
    </HTML>

    Gruß

    Hans

    1. Moin

      guter Ansatz, aber
      1. was soll die Funktion im body? Die wäre im head allemal besser aufgehoben!
      2. du hast den Mime-Type des Scripts vergessen <script type="text/javascript">

      Gruß
      rfb

      1. Hi !

        1. was soll die Funktion im body? Die wäre im head allemal besser aufgehoben!

        Kann man im <HEAD> onLoad aufrufen?

        1. du hast den Mime-Type des Scripts vergessen <script type="text/javascript">

        Ja, da hast Du recht. Hat aber die letzten Jahre auch ohne den Zusatz funktioniert.

        Gruß

        Hans

        1. Moin

          Kann man im <HEAD> onLoad aufrufen?

          du kannst mit onload Funktionen aufrufen wo auch immer sie stehen!

          Ja, da hast Du recht. Hat aber die letzten Jahre auch ohne den Zusatz funktioniert.

          ist trotzdem falsch

          sinnvoller sähe dein Beispiel so aus:

          <html>  
          <head>  
          <script type="text/javascript">  
          function meine_druck_funktion() {  
            window.print();  
          }  
          window.onload=meine_druck_funktion;  
          </script>  
          <body>  
          ...  
          </body>  
          </html>
          

          (auch mit der üblichen und in XHTML zwingend erforderlichen Kleinschreibung)

          Gruß
          rfb

  3. Javascript Funktion print().

    Wie kann ich der Funktion mitgeben, dass sie nicht die aktuelle Seite, sondern die Seite der Druckversion aufrufen soll.

    Wenn du ein Print-Stylesheet definierst, erübrigt sich das JavaScript-Gehample. Ferner ist es auch beim direkten Ausdruck über das Browser-Menü ohne dein Script verfügbar.

    Roland

    --
    -)
  4. Hi,

    ich habe für meine (Intranet-)Site zusätzlich eine Druckversion erstellt. Die Druckversion besteht aus eigenständigen Seiten (also nicht über den Austausch von Stylesheets).

    auch wenn Du eine mögliche Lösung schon hast: warum sollte für eine Intranet-Seite nicht dasselbe gelten woe für eine öffentliche Seite? Und wieso "Austausch" von CSS?

    Mal ein Beispiel: ich habe das Script für einen Terminkalender so modifiziert, dass Unötiges und nicht auszudruckende Einträge die Klasse "noprint" bekommen. Im CSS dann über @media print { .noprint { display:none } } formatiert. Das hat das Extra-Script print.php erübrigt und die Mitarbeiter brauchen lediglich auf ihren wohlbekannten Print-Button im Browser zu klicken.

    Du solltest Dir auch im Intranet nicht sicher sein, dass der Administrator auch zukünftig Javascript zuläßt - es sei denn, Du bist das selbst und hast für die Mitarbeiter keinen IE als Standardbrowser eingestellt. ;-)

    freundliche Grüße
    Ingo