Michael H: PDFs im batch drucken

Hi Leute,

Ich hab hier in PHP eine LAN-Applikation (WinXP), in der ich mit der FPDF-Klasse PDFs erzeuge (und das nicht zu knapp). Nun würde ich sie nach dem Erzeugen gerne auch gleich ausdrucken, aber das scheitert daran, dass nach dem Drucken das Reader-Fenster offen bleibt.

Mein bisheriger Ansatz:

system('"c:\Programme\Acrobat5\Reader\acrord32.exe /p /h '.$document.'"',$erg);

Wie gesagt: nach dem ersten Dokument bleibt das Script hängen, bis man das Fenster zumacht, erst dann geht es mit dem nächsten Dokument weiter.

Ich hab die letzten 4 Stunden Google und andere Suchmaschinen nach Lösungen abgegrast und ich hab für Batch-Druck nur teure Programme gefunden.

Ich hätte da mehrere Lösungen, aber ich hab keine Ahnung, wie das laufen soll:

a) Es gibt noch einen undokumentierten (sind ja alle undokumentiert) Befehl für die acrord32.exe, die ihr sagt dass sie sich nach dem Drucken schließen soll. Das wäre das Schönste, kennt das zufällig jemand?

b) Ich erzeuge eine .bat Datei, die dann per system() aufgerufen wird, aber auch dort habe ich das gleiche Problem. Aber vielleicht könnte man in einer Batch noch mehr machen als per PHP-System? Ich kenn mich mit .bat-Dateien nicht so gut aus

c) Ich schaffe es mit PHP über COM was zu tun, aber auch dieser Ansatz hat nur bis zum Drucken funktioniert und dann hing's wieder.

Bitte helft mir,
            Michael (kurz vor dem virtuellen Harakiri)

  1. Hallo!

    Nun würde ich sie nach dem Erzeugen gerne auch gleich ausdrucken, aber das scheitert daran, dass nach dem Drucken das Reader-Fenster offen bleibt.

    Versuche mal mit den Funktionen.

    proc_open(): http://de2.php.net/manual/de/function.proc-open.php
    proc_close(): http://de2.php.net/manual/de/function.proc-close.php

    Eigentlich müßte es unter Windows auch die Möglichkeit geben, Prozesse auf der Console schließen zu können. Da könntest also den Acrobat-Prozess schließen. Anscheint macht das proc_close().

    Keine Ahnung ob das unter WinXP läuft.

    MfG, André Laugks