speziellen Drucker anprechen
Andreas
- php
Hallo zusammen,
ich habe folgendes Problem.
Ich möchte ein kleines Tool schreiben das Edikette für Aufträge ausdrucken soll.
alles kein Problem, die Auftragsnr bekommt er, die Daten zu ziehen ist auch nicht das Problem.
Aber wie kann ich jetzt einen speziellen Drucker ansprechen?
zb.:
Es soll 3 Fraben geben.
Drucker 1 = rot
Drucker 2 = blau
Drucker 3 = gelb
ISt es möglich das ich nun direkt den Text an DRucker 2 abschick, und den Text an Drucker 1, usw...
ohne das der Dialog aufgeht und ich den Drucker wählen muss.
Es sind alles Netzwerkdrucker...
Welche möglichkeiten habe ich?
Danke schon mal im Vorraus.
Gruß
Mahlzeit,
Ich möchte ein kleines Tool schreiben
Mit PHP?
das Edikette für Aufträge ausdrucken soll.
Du meinst nicht zufällig "Etiketten"?
Aber wie kann ich jetzt einen speziellen Drucker ansprechen?
Du willst mit einer serverseitig ausgeführten Skript einen speziellen Drucker, der am Client angeschlossen ist, auswählen und benutzen?
ISt es möglich das ich nun direkt den Text an DRucker 2 abschick, und den Text an Drucker 1, usw...
Wie willst Du mit einem PHP-Skript, das auf einem Server läuft, etwas direkt an einen Drucker, der am Client angeschlossen ist, senden?
Welche möglichkeiten habe ich?
Ich denke, Du solltest Dein Konzept noch einmal überdenken.
MfG,
EKKi
Mahlzeit,
Ich möchte ein kleines Tool schreiben
Mit PHP?
Ja. noch nie ein Tool in PHP geschrieben?
das Edikette für Aufträge ausdrucken soll.
Du meinst nicht zufällig "Etiketten"?
Richtig! Danke.
Aber wie kann ich jetzt einen speziellen Drucker ansprechen?
Du willst mit einer serverseitig ausgeführten Skript einen speziellen Drucker, der am Client angeschlossen ist, auswählen und benutzen?
Wer hat gesagt das der Drucker am Client angeschlossen ist?
ISt es möglich das ich nun direkt den Text an DRucker 2 abschick, und den Text an Drucker 1, usw...
Wie willst Du mit einem PHP-Skript, das auf einem Server läuft, etwas direkt an einen Drucker, der am Client angeschlossen ist, senden?
siehe oben
Welche möglichkeiten habe ich?
Ich denke, Du solltest Dein Konzept noch einmal überdenken.
OK. Mach ich gerne.
Welchen anderen Weg müsste ich den gehen um soetwas zu realisieren?
Gruß
P.S.:Hab grad zufällig was von php_printers.dll gelesen. Werde da mal weiter nachforschen, aber anscheinend kann man ja doch per PHP einen Druckauftrag verschicken, sowas aber auch!
Mahlzeit,
Ja. noch nie ein Tool in PHP geschrieben?
Doch.
Aber wie kann ich jetzt einen speziellen Drucker ansprechen?
Du willst mit einer serverseitig ausgeführten Skript einen speziellen Drucker, der am Client angeschlossen ist, auswählen und benutzen?
Wer hat gesagt das der Drucker am Client angeschlossen ist?
Keiner. Aber ich hatte das vermutet, da Du weiter unten in Deinem Posting folgendes geschrieben hast:
ohne das der Dialog aufgeht und ich den Drucker wählen muss.
Dieser Dialog geht AFAIK meistens dann auf, wenn ich im Browser "Drucken" wähle - und das wäre dann eben Client-seitig.
Welche möglichkeiten habe ich?
Ich denke, Du solltest Dein Konzept noch einmal überdenken.OK. Mach ich gerne.
Welchen anderen Weg müsste ich den gehen um soetwas zu realisieren?
Also wenn Du auf Deinem Server mehrere Drucker angeschlossen hast, sollte es eigentlich möglich sein, mit PHP (das ja nichts anderers als ein auf dem Server ausgeführtes Programm ist) auf diesen Druckern zu drucken (die entsprechenden Rechte vorausgesetzt).
P.S.:Hab grad zufällig was von php_printers.dll gelesen. Werde da mal weiter nachforschen, aber anscheinend kann man ja doch per PHP einen Druckauftrag verschicken, sowas aber auch!
Natürlich kann man das. Deine Problembeschreibung war vielleicht einfach etwas missverständlich.
Ich würde aber vermuten, dass eine php_printers.dll nur auf einem Windows-Server funktionieren wird ...
MfG,
EKKi
Hallo
Keiner. Aber ich hatte das vermutet, da Du weiter unten in Deinem Posting folgendes geschrieben hast:
ohne das der Dialog aufgeht und ich den Drucker wählen muss.
Dieser Dialog geht AFAIK meistens dann auf, wenn ich im Browser "Drucken" wähle - und das wäre dann eben Client-seitig.
Und _genau_ darunter schrieb er:
Es sind alles Netzwerkdrucker...
Und die sollten doch über ihre IP -und damit jeder einzeln identifizierbar- ansprechbar sein, oder?
Tschö, Auge
Hello,
Und die sollten doch über ihre IP -und damit jeder einzeln identifizierbar- ansprechbar sein, oder?
Wenn sie über einen Server verwaltet werden, sind sie i.d.R einer Queue zugeordnet. Diese wiederum kann einen Kanal haben, der in die Queue schreibt. Das wäre der einfachere Weg.
Ob man mit PHP auch direkt auf ein Druckermodul zugreifen kann, das dann direkt über TCP/IP mit dem Drucker spricht, habe ich noch nie ausprobiert.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hello,
Wer hat gesagt das der Drucker am Client angeschlossen ist?
Es ist vollkommen unerheblich, wo der Drucker physisch angeschlossen sit, wenn das Netzwerk nur die passenden Agents und Spooler (Print-Server) dafür zur Verfügung stellt. Dann kann ein Drucker, der am lokalen Arbeitsplatz angeschlossen ist, durchaus dem gesamten Netzwerk zur Verfügung stehen.
anscheinend kann man ja doch per PHP einen Druckauftrag verschicken, sowas aber auch!
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hello,
Aber wie kann ich jetzt einen speziellen Drucker ansprechen?
Indem Du diesen Drucker auf dem Host, auf dem PHP läuft, auch mit einem Kanal verbindest (eine Print_Queue anlegst und ihn dieser zuordnest). Das ist Sache des Netzwerkbetriebssystems.
Dann kannst Du mit fopen('LPTX','w') diesen Kanal einfach öffnen und die Daten mit fwrite() einfach wegschreiben.
Der Client bekommt davon gar nichts mit, wenn Du ihm nicht anschließend der Ordnung halber eine Nachricht in die Response packst.
Es bietet sich aber an, diese Ausgabe durch einen abgetrennten Prozess im Hintergrund machen zu lassen, weil sie ein wenig dauern könnte, je nach Menge der zu druckenden Daten.
Solange willst Du den Client ggf. nicht auf Antwort warten lassen.
Mit den Print_Queue-Funktionen Deines OS kannst Du dann hinterher ggf. nachfragen, ob der Job erledigt wurde. Er müsste ja auch beim Absenden im Queue-Monitor auftauchen. Wenn Der User darauf Zugriff hat, kann er den befragen.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hallo
es gibt diverse Möglichkeiten einen Drucker anzusprechen, auch mit PHP
Ich selbst habe es auch schon mit der "printer.dll" gemacht.
Dies wird aber nicht mehr unterstützt und ist nur unter Windows verügbar.
Wenn du also dein Script mal auf Linux portieren möchtest, geht das nicht mehr.
Manche Drucker können auch direkt z.b. per FTP angesprochen werden.
Es kommt also darauf an um was für einen Drucker es sich handelt.
Gruss
hawk