Autor Beitrag
Doc_Foo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 51

Win2000
D5
BeitragVerfasst: Mo 24.10.05 16:36 
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

_________________
If weniger then more;
Doc_Foo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 51

Win2000
D5
BeitragVerfasst: 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

_________________
If weniger then more;
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mo 24.10.05 17:12 
user profile iconDoc_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

ausblenden Quelltext
1:
/p /h <Dateiname>					


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
Doc_Foo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 51

Win2000
D5
BeitragVerfasst: 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

_________________
If weniger then more;
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: 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]www.ghostscript.com[/url])

Stefan
Doc_Foo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 51

Win2000
D5
BeitragVerfasst: 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
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

_________________
If weniger then more;
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: 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

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
Doc_Foo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 51

Win2000
D5
BeitragVerfasst: Mi 26.10.05 09:41 
Titel: Acrobat print OCX
Hallo,

beendet er sich selbst wenn ich diese Methode
anwende ?

gruß
Doc Foo

_________________
If weniger then more;
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: 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