Kalle_B: 2.000 Seiten mit PHP5 drucken - wie?

Hallöle,

hat jemand Erfahrung, wie man 2.000 Seiten geschickt ausdrucken kann?

BISHER:
Auf dem Webserver läuft PHP und schickt die zu druckenden Seiten an Firefox. Der ist mit dieser Menge vollkommen überfordert, bricht nach einer Viertelstunde ab.

Also wird eine Teilmenge von ca. 100 Seiten abgerufen. Jetzt läuft die Zeit:
1. Firefox: Auswählen Firmen A-B (C-D, ...),
2. Firefox: Bildschirmaufbau,
3. manuell: Druck auslösen,
4. Firefox: Druckaufbereitung,
5. Druck mit HP Laserjet 2200 (15 Blatt/min)

Und dieses Spiel wiederholt sich 20 mal, immer mit der notwendigkeit, manuell einzugreifen.

Die Lösung per Browser ist chaotisch.

FRAGE:
Könnte man mit PHP eine (oder wenige) Druckerdatei(en) erstellen, die heruntergeladen und zum Drucker geschickt werden können?

Oder kann per PHP5 sogar direkt auf einen LAN- Drucker zugegriffen werden?

Ist ein HP Laserjet 2200 (es sind 3 Stück vorhanden) evtl. schneller, wenn er in "seiner" Sprache (PCL5?) angesprochen wird?

Lieben Gruß, Kalle

  1. Hi,

    Könnte man mit PHP eine (oder wenige) Druckerdatei(en) erstellen, die heruntergeladen und zum Drucker geschickt werden können?

    PHP läuft auf Serverseite im HTTP-Kontext, d.h. es "schickt" nicht, sondern antwortet nur. Die Antwort erhält derjenige, der die Frage stellt - also der Browser.

    Oder kann per PHP5 sogar direkt auf einen LAN- Drucker zugegriffen werden?

    Wenn sich der Drucker im selben LAN wie der Server befindet, ist das denkbar. Wo der Client steht, ist dabei unerheblich; jeder, der auf den Server(-seitigen Vorgang) zugreifen kann, kann dann auf diesem Drucker ausdrucken.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hello,

      Könnte man mit PHP eine (oder wenige) Druckerdatei(en) erstellen, die heruntergeladen und zum Drucker geschickt werden können?

      PHP läuft auf Serverseite im HTTP-Kontext, d.h. es "schickt" nicht, sondern antwortet nur. Die Antwort erhält derjenige, der die Frage stellt - also der Browser.

      Nein.

      Die Antworten erhält derjenige, der im Script festgelegt ist.
      In aller Regel ist das die Standardausgabe.

      Wenn man für die Standardausgabe einen anderen Kanal bestimmt, oder gleich einen mit fopen() eröffnet, kann man die Ausgabe selbstverständlich auch anderswohin schicken, als "zurück zum Browser".

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

      1. Hello,

        Nein.

        Die Antworten erhält derjenige, der im Script festgelegt ist.
        In aller Regel ist das die Standardausgabe.

        Wenn man für die Standardausgabe einen anderen Kanal bestimmt, oder gleich einen mit fopen() eröffnet, kann man die Ausgabe selbstverständlich auch anderswohin schicken, als "zurück zum Browser".

        Für Windows-Webserver gibt es hierfür sogar eine fertige Klasse
        http://www.php.net/manual/de/ref.printer.php

        Außerdem empfehle ich die UCN zu lesen:

        Printing in UN*X is possible too:

        <?php
        function lpr($STR,$PRN) {
          $prn=(isset($PRN) && strlen($PRN))?"$PRN":C_DEFAULTPRN ;
          $CMDLINE="lpr -P $prn ";
          $pipe=popen("$CMDLINE" , 'w' );
          if (!$pipe) {print "pipe failed."; return ""; }
          fputs($pipe,$STR);
          pclose($pipe);
        } // lpr()
        ?>

        You pipe the stream/string/char/sign whatever to the system. In the example shown above you have to add at least the string for printing in the function call. The second arg is a printer name which if you don't set will be set to the C_DEFAULTPRN. This is a constant definition from an ini file.

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau

    2. Hi,

      PHP läuft auf Serverseite im HTTP-Kontext, d.h. es "schickt" nicht, sondern antwortet nur. Die Antwort erhält derjenige, der die Frage stellt - also der Browser.

      Sehe ich nicht so. Mit PHP habe ich schon Daten an eine Datenbank geschickt, die auf einem anderen SErver läuft.

      Möglicherweise kann man auch per FTP Dateien schicken (habe ich noch nicht ausprobiert).

      Und wenn auf einen PC per Fernsoftware zugegriffen werden kann, warum dann nicht auch auf einen Drucker am PC?

      Ich denke, PHP kann schon Einiges mehr als Javascript ...

      Kalle

      1. Nachtrag:

        der Browser steuert das Display an und mit Plugins auch die Lautsprecher.

        Ist die Idee so exotisch, einen Drucker anzusprechen?

        Kalle

  2. Hallo Kalle,

    hat jemand Erfahrung, wie man 2.000 Seiten geschickt ausdrucken kann?

    auf einen leistungsfähigen Drucker mit entsprechenden Ausgabefächern.

    Die Lösung per Browser ist chaotisch.
    Könnte man mit PHP eine (oder wenige) Druckerdatei(en) erstellen, die heruntergeladen und zum Drucker geschickt werden können?

    Ja, ich bevorzuge zu diesem Zweck das PDF-Format und nutze dazu FPDF (z.T. in Verbindung mit FPDI.

    Oder kann per PHP5 sogar direkt auf einen LAN- Drucker zugegriffen werden?

    Prinzipiell bestimmt. Ich glaube nicht, dass es sinnvoll ist.

    Ist ein HP Laserjet 2200 (es sind 3 Stück vorhanden) evtl. schneller, wenn er in "seiner" Sprache (PCL5?) angesprochen wird?

    Den HP LJ2200 solltest Du auch in Postscript ansprechen können, natürlich versteht er auch PCL6. Mein Vorschlag bleibt PDF.

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz,

      Ja, ich bevorzuge zu diesem Zweck das PDF-Format und nutze dazu FPDF (z.T. in Verbindung mit FPDI.

      Kann denn der Adobe Reader mit 2.000 Seiten umgehen?

      Oder wie druckst du die Datei mit den 2.000 Seiten?

      Kalle

      1. Hallo

        Ja, ich bevorzuge zu diesem Zweck das PDF-Format und nutze dazu FPDF (z.T. in Verbindung mit FPDI.

        Kann denn der Adobe Reader mit 2.000 Seiten umgehen?

        weiß ich nicht. Mit 500 Seiten auf jeden Fall, problemlos.

        Oder wie druckst du die Datei mit den 2.000 Seiten?

        Hab' ich noch nie gemacht :-)

        Du solltest

        a) den Acrobat Reader mit entsprechenden Parametern aufrufen können,
           so dass er Dein Dokument druckt:

        pfad/zu/Deinem/Acrobat/reader /t "pfad/zu/Deinem/Dokument" "Name Deines Windowsdrucker"

        b) könntest Du gsprint aus dem GhostScript-Paket nutzen.

        c) sonst eine Methode anwenden.

        Deine Drucker können Postscript, also installiere den Postscript-Treiber und schicke die PDFs auf Deine Drucker.

        Freundliche Grüße

        Vinzenz

  3. Hallo!

    Und dieses Spiel wiederholt sich 20 mal, immer mit der notwendigkeit, manuell einzugreifen.

    Ein änliches Siel hatte ich auch mal. Das Problem habe ich mit dem generieren von PDF-Dateien gelöst.

    FRAGE:
    Könnte man mit PHP eine (oder wenige) Druckerdatei(en) erstellen, die heruntergeladen und zum Drucker geschickt werden können?

    Oder kann per PHP5 sogar direkt auf einen LAN- Drucker zugegriffen werden?

    Ist aber nur für Windows verfügbar: http://www.php.net/manual/de/ref.printer.php

    André Laugks

    --
    Die Frau geht, die Hilti bleibt!
    1. Hallo André,

      Oder kann per PHP5 sogar direkt auf einen LAN- Drucker zugegriffen werden?

      Ist aber nur für Windows verfügbar: http://www.php.net/manual/de/ref.printer.php

      Danke, ein interessanter Tipp.

      Da ich auf einem Laptop im LAN ohnehin XAMPP installiert habe (Backup-Lösung, falls das Web ausfällt), könnte ich ja auf die Web- Datenbank zugreifen und mit dem lokalen PHP drucken.

      Werde ich testen.

      Kalle

      1. Tach.

        Da ich auf einem Laptop im LAN ohnehin XAMPP installiert habe (Backup-Lösung, falls das Web ausfällt), könnte ich ja auf die Web- Datenbank zugreifen und mit dem lokalen PHP drucken.

        Leute! Leute! Etliche Backbones sind zusammengebrochen, das Web ist ausgefallen. Aber macht Euch keine Sorgen: Kalle hat vorgesorgt und auf seinem Laptop XAMPP installiert. Heißa!

        *SCNR*

        --
        Once is a mistake, twice is jazz.