Entwickler-Ecke
Sonstiges (Delphi) - Adobe Reader und AufrufParams
Doc_Foo - Mo 24.10.05 16:36
Titel: Adobe Reader und AufrufParams
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
Doc_Foo - Mo 24.10.05 17:01
Titel: Adobe Reader Params
hallo nochaml,
es gibt schonmal:
AcroRd32.exe filename - Executes the Reader and displays a file..
AcroRd32.exe /p filename - Executes the Reader and prints a file..
AcroRd32.exe /t path printername drivername portname - Initiates Acrobat
Reader,,
ABER: weiss jemand, wie ich den Druck komplett anstoßen kann
und danch den Reader schließen ?
gruß
Doc Foo
Stefan.Buchholtz - Mo 24.10.05 17:12
Titel: Re: Adobe Reader und AufrufParams
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
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]
http://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
Doc_Foo - Di 25.10.05 09:41
Titel: Adobe Reader drucken
Super!
danke erstmal. ich werds probieren.
das mit MassenDruck ist ja bedauerlich...
gruß
Doc Foo
Stefan.Buchholtz - Di 25.10.05 10:45
Noch was zu GhostScript: Ich will das Programm nicht in ein schlechtes Licht rücken, das ist wirklich gut und in der Performance für einen Einzelplatz-PC auch absolut ok. Bei unserer Anwendung mussten die Druckjobs allerdings von einem zentralen Server aus gedruckt werden, auf dem etliche User gleichzeitig arbeiten, und da war GhostScript nicht effizient genug. Wenn das bei dir nicht zutrifft, würde ich mir das Programm mal ansehen ([url]
http://www.ghostscript.com[/url])
Stefan
Doc_Foo - Di 25.10.05 17:27
Titel: PDF drucken -ein weites Feld
JO! dank Dir für die Infos.
eigentlich nutzen wir ja PDF-IN-the-Box von
http://www.synactis.com - is ganz o.k.
aber bei deren .print wird halt auch der Adobe Reader geöffnet
und nicht wieder geschlssen.
gruß
Doc Foo
MSCH - Di 25.10.05 18:13
*brrrr*
aso, nimm die Acrobat OCX importier sie in Delphi. Die findest du bei installiertem Acrobat-Reader unter
C:\Programme\Adobe\Acrobat 5.0\Reader\ActiveX
Dann findest du alles in der TLB was du brauchst.
Schiebe die neue Komponente auf dein Formular.
z.b. heisst sie dann:
Pdf: TPdf;
im Code
PDF.LoadFile('pdfdatei.pdf') zum Anzeigen oder
pdf.Print; zum drucken.
is'n zweizeiler.
grez
msch
Doc_Foo - Mi 26.10.05 09:41
Titel: Acrobat print OCX
Hallo,
beendet er sich selbst wenn ich diese Methode
anwende ?
gruß
Doc Foo
Stefan.Buchholtz - Mi 26.10.05 09:55
Ja, dann beendet er sich von selbst, wenn dein Programm beendet wird. Nachteil ist, dass du die PDF-Datei dann auch anzeigen musst, sonst druckt er nicht. Wenn die Acrobat OCX-Komponente oder das Formular, auf dem sie liegt, nicht sichtbar ist, geht es nicht.
Stefan
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!