Alexander (HH): Verschiedene Drucker ansprechen

Beitrag lesen

Moin Moin!

das hört sich sehr professionel an

Bringt der Beruf so mit sich ... ;-)

wäre in diesem Falle aber, glaube ich, overkill.
Es ist wirklich nur ein kleines Kino - und das bleibt es auch ;-) Eine Kasse, dann später noch eine Website für Online-Reservierung.

Naja, dann brauchst Du die Extra-Spielereien für mehrere Kassen ja nicht umzusetzen, und alles kann auf einer Maschine bleiben.

Der Kartendrucker ist zum Glück über einen Treiber als normaler Drucker anzusprechen und ich muß mich nicht groß mit Steuersequenzen herumschlagen.

Sehr schön.

Je einfacher, desto besser - nicht nur, weil ich eher Quereinsteiger bin, sondern auch, weil ich möglicherweise irgendwann nicht mehr da bin und die Anzahl der Computerversteher hier auf dem Dorfe doch ziemlich gering - zumindest im Verein, der das Kino betreibt.

Und dann Windows mit einem Apache-PHP-MySQL-Stack, der sich irgendwo in den Services versteckt? Ich weiß nicht, ich weiß nicht. Denk mal über Linux oder *BSD nach, schon allein, weil CUPS dir die Arbeit mit den Druckern recht leicht machen müßte. Wenn Du keine Library für IPP in PHP findest, kannst Du auch stumpf über den Kompatibilitätslayer für das alte LPR-System arbeiten, sprich: Du startest /usr/bin/lpr so, dass PHP den Druckjob in STDIN von lpr schreibt.

In Perl sähe dass sinngemäß so aus:

  
open my $lpr,'| /usr/bin/lpr -PKartendrucker' or die "lpr open fehlgeschlagen: $!";  
print $lpr "KINO Wasauchimmer\nFreier Eintritt auf Lebenszeit\nKaufpreis: 123456.78 EUR\n" or die "lpr print fehlgeschlagen: $!";  
#           ^-- typischerweise Postscript, möglich: alles was CUPS filtern kann  
close $lpr or die "lpr close fehlgeschlagen: $!";  

PHP-Code dürfte fast genauso aussehen. Noch viel einfacher kann man nicht drucken. Die Kunst ist in dem Fall eher, ein Template auszufüllen und in verdaubarer Form an CUPS zu übergeben. Was CUPS verdauen kann, legen Filter fest, das können wiederum beliebige Scripte sein.

Irgendwo in meinem Hinterkopf spukt auch noch rum, dass es Windows Services for UNIX und ähnliches gibt, vielleicht bekommt man die Kombination aus lpr und dem entsprechenden Druckserver (lpd) auch auf Windows hin, dann würde das so auch unter Windows funktionieren, nur eben ohne die nette Filterautomatik von CUPS. Einen LPD gibt es jedenfalls für Windows.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".