PDF automatisch ausdrucken
Yeti
- php
Hi,
ich habe bisher erfolgreich die von meinem System erstellten PDFs auf einem an den Server angeschlossenen Drucker gedruckt, indem ich den Adobe Reader über system aufgerufen habe mit Dateiname und Drucker als Parameter. Dies funktioniert nun leider seit gestern aus irgendeinem unerfindlichen Grund nicht mehr (es öffnet sich zwar das Shellfenster, aber es wird nichts angezeigt, nichts ausgeführt und nichts geschlossen ... die Shell muss man dann abschießen).
Nun suche ich nach einer weiteren Möglichkeit, PDFs automatisiert am Server auszudrucken. Am liebsten wäre mir COM, habe damit schon gute Erfahrungen bezüglich Excel- und Word-Automation gemacht. Die Dokumente am Client auszudrucken wäre sehr, sehr unschön (geht jetzt auch schon), aber dort kann man nichts automatisieren und fünf Klicks mehr pro Dokument sind fünf Klicks mehr.
Weiterhin scheinen system-Aufrufe irgendwie überhaupt nicht mehr zu funktionieren (Lösungen diesbezüglich sind auch herzlich willkommen), daher scheiden die auch aus. Habe z.B. gsprint erfolgreich installiert und auch auf der Kommandozeile zum automatischen Drucken gebracht, aber bei Einbindung in PHP streikt die Shell wieder.
Wer weiß Rat?
Der Yeti
Allgemeiner gefragt: Wie kann ich mit PHP ein Programm aufrufen, ohne dass PHP auf einen Rückgabewert wartet ("im Hintergrund")?
Der Yeti
Hallo Yeti.
Allgemeiner gefragt: Wie kann ich mit PHP ein Programm aufrufen, ohne dass PHP auf einen Rückgabewert wartet ("im Hintergrund")?
Einen schönen Freitag noch.
Gruß, Ashura
Hi Ashura,
danke für den Tipp! Konnte ihn "leider" erst heute ausprobieren, weil mir der Feierabend und damit auch das Wochenende dazwischen kamen.
Soweit hatte ich noch gar nicht geguckt (hatte mir zwar alle Kommentare bei system() und passthru() durchgelesen, aber auf exec() bin ich leider nicht gekommen).
Mein Ergebnis ist folgendes: Er druckt wieder wunderbar das erste Dokument und man sieht auch, dass psexec den Adobe Reader im Hintergrund startet und sich schnell beendet. Aber: Danach ist die CMD.EXE, die den psexec gestartet hat, leider immer noch offen, der Apache kriegt keine Rückmeldung und irgendwann gibt's nen Timeout auf der Seite => selbes Spiel.
:-(
Der Yeti
Hi,
nochmal die Frage: Wie kann ich, ohne Benutzung von system(), mit PHP ein PDF ausdrucken?
Ich habe jetzt bereits mit mehreren Programmen (inkl. psexec) erfolglos versucht, das Problem zu beheben. Anscheinend wartet aber nach jedem Programmaufruf die verantwortliche CMD.EXE auf Benutzereingaben (komischer blinkt im entsprechenden Konsolenfenster nur der Cursor ganz links oben). Dadurch wird der Ablauf meines PHP-Skripts verzögert, bis ein Timeout auftritt.
Also muss ich entweder diesen Bug der CMD.EXE beheben oder das PDF mittels COM o.ä. ausdrucken.
Hilfääääääääää! :-)
Der Yeti
Hi,
Also muss ich entweder diesen Bug der CMD.EXE beheben oder das PDF mittels COM o.ä. ausdrucken.
Habe mittlerweile die Vorlage in Word nachgebaut und drucke diese mittels COM aus. Und wieder zwei Arbeitstage den Bach runter. Aber ich werd ja bezahlt. ;-)
Der Yeti