Drucken auf Klick mit verschiedenen Druckern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Drucken auf Klick mit verschiedenen Druckern

    Mein Cheffe überraschte mich heute mit folgender Idee:

    Wir haben 8 verschiedene Dokumenttypen zum drucken, die ich mittels fpdf erstelle. Soweit, so gut.
    Nun will er, das es eine Möglichkeit gibt, dass man nur das Dokument auswählt (Link) und ich dafür sorge, das es sofort auf dem richtigen Drucker ausgedruckt wird.

    Nun, acht Drucker hinzustellen wäre wohl etwas übertrieben. Es gibt aber Drucker mit verschiedenen Papierfächern, die man dann auch irgendwie auswählen müsste. Zwei Druckertypen sind so wie so notwendig, einmal Nadeldrucker und einmal Laser.
    Leider sind 6 verschiedene Dokumente auf dem Laser zu drucken, zum Glück alle nur A4. Gibt es Drucker mir 6 Papierfächern?

    Habe es bisher noch nicht mal geschafft, dass man sofort druckt aus dem Acrobat Reader
    Auch wenn das heute nur ein Scherz war, weiß ich mit Sicherheit, das Thema kommt noch mal.

    Habt ihr Idee, wie das umzusetzen ist?

    Gruß aus Paraguay
    Maribel

  • #2
    Sicher gibt es Drucker mit 6 Papierfächern, z.B. von Xerox oder HP. Billig sind die Dinger aber nicht.

    In Javascript kannst du nur window.print() aufrufen, was den OS-Druckerdialog öffnet. Mit Active-X (IE only!) kannst du mehr machen, siehe http://www.meadroid.com/scriptx/index.asp.

    Alternativ könntest du versuchen, ein Word-Dokument auszugeben, dass entsprechendes VBScript enthält. Oder du läßt den Server direkt mit dem Drucker sprechen.

    Kommentar


    • #3
      Hmm, den Server direkt mit dem Drucker sprechen lassen, hört sich schon mal nicht schlecht an

      Dein Link http://www.meadroid.com/scriptx/index.asp. führt leider ins leere.
      Aber IE behagt mir irgendwie nicht.

      Das mit Office mag schon interessanter sein, wenn es Openoffice sein dürfte. Aber wie erstellt man so ein Dokument, bin froh es mit fpdf geschafft zu haben, ein PDF zu erstellen.

      Und der Druckerpreis ist ja nicht mein Problem, ist ja seine Idee.

      Gruß Maribel

      Kommentar


      • #4
        OpenOffice.org API: Print on different Trays

        Gefunden mit: Google "print on different trays"

        könnte die richtige Richung sein. Mußt dich halt in OpenOffice-Programmierung und -API einarbeiten.

        Kommentar


        • #5
          mit PHP oder Javascript irgendein Client-Peripherie-Gerät anzusteuern ist unfug. Es sei denn du öffnest die Sicherheitsschranke und machst dann über AxtiveX, VBScript - beide nur mit IE - oder per Programmaufruf mit Parameter übergabe, dann kannst du ein Progrämmchen schreiben, im LAN ablegen, so dass alle Nutzer aufrufen können, nun kannst du z.B. das Programm vom Browser aus direkt aufrufen, z.B.

          UNC-Pfad/deinProgram <document> [drucker] [papierfach] [anzahl]

          das Progrämmchen wertet die Parameter aus und macht dann genau das, was du willst.

          Kommentar


          • #6
            Wenn der Dokumentenserver im Intranet steht, kannst du dir den Weg über den Client sparen. Richte den Drucker auf dem Server ein und sprich ihn mit PHP an. Das einzige was dir dabei wahrscheinlich flöten geht, ist der Nachweis in der Druckerschlange, wer da eigentlich was gedruckt hat. Aber das kannst du durch Logging in der Serverapplikation ausbügeln.

            Kommentar


            • #7
              Was hindert dich, eine Drucker bei Shell anzusteuern?
              Machen wir hier nur, und das bei 9 Netzdruckern.
              Die generierte PDF Datei auf die Platte schreiben, und dann an Drucker schicken

              PHP-Code:
              $file _PDF_DIR_.'/'.$subdir.'/'.$row['fileid_i'].'.pdf';
              // Druckjob ueber Konsole abschicken
              exec(    'lpr -P '._ABIS2_DRUCKER_.' '.$file,
                  
              $answer_array,
                  
              $answer_int );
              // Antwort pruefen
              if( $answer_int ) {
                  
              // Fehler ausgeben
                  
              echo "Fehler bei ".$file."<br />";
              }else{
                  
              // Druck protokollieren
                  
              $this->db->query'    UPDATE druckanf SET
                                  drudat_d = NOW()
                                  WHERE drucid_i = '
              .$row['drucid_i'] );

              TBT

              Die zwei wichtigsten Regeln für eine berufliche Karriere:
              1. Verrate niemals alles was du weißt!


              PHP 2 AllPatrizier II Browsergame

              Kommentar

              Lädt...
              X