Doc_Foo hat folgendes geschrieben: |
Hallo Delphi-Community,
ich habe mir jetzt schon die Augen wund gesucht -->
ich brauche einfach nur AufrufParameter für die AcroRD32.exe
Irgendwie sind die ein militärisches Geheimnis oder gar nicht existent...
Ich will mit shellExecute und dem Reader etwas drucken und am liebsten danach den Reader schließen.
Bin fuer jeden Tip dankbar!
gruß
Doc Foo |
Damit habe ich mich auch schon rumgeschlagen. Es funktioniert halbwegs mit
Quelltext
Nach meiner Erfahrung geht es mit CreateProcess zuverlässiger als mit ShellExecute. Massendruck - also viele Dokumente halbwegs schnell zu drucken - kannst du damit vergessen. Daran habe ich mir auch schon die Zähne ausgebissen - wenn der Reader gerade beschäftigt ist, geht ab und zu ein Druckauftrag verloren. Leider kann man nicht vorhersagen, wann der Reader fertig ist, weil zusätzlich gestartete Instanzen des Readers ihre Druckaufträge immer an die zuerst gestartete Instanz weiterreichen und sich dann sofort wieder beenden. Die erste Reader-Instanz beendet sich dagegen nie von selbst - man kann daher auch nicht zuverlässig ermitteln, ob er mit dem Druck fertig ist und ihn dann beenden.
Für einzelne Dokumente ist das zu verschmerzen - wenn der Druck nicht rauskommt, kann der User ja nochmal Drucken. Für Massendruckaufträge leider völlig unbrauchbar. Wir haben es aufgegeben und den PDF-Drucker von [url]
www.pdf-tools.com[/url] gekauft. Der funktioniert gut und ist sogar schneller als der Adobe Reader. Kostet aber ordentlich Geld.
Wenn es auf Performance nicht so ankommt und eine freie Software akzeptabel ist, kann man auch GhostScript verwenden. Das funktioniert auch sehr gut und ist kostenlos, steht aber unter der GPL (gibt aber auch kommerzielle Lizenzen) und ist langsamer.
Stefan