Drucken von PDF-Files mit API-Shellexecute()
Moderator: Moderatoren
- Lewi
- 1000 working lines a day
- Beiträge: 830
- Registriert: Di, 07. Feb 2006 14:10
- Wohnort: Hamburg
- Danksagung erhalten: 2 Mal
Drucken von PDF-Files mit API-Shellexecute()
Moin,
ich bin auf folgendes Problem gestoßen: Wird mit der Windows-API-Funktion ShellExecute() ( z.B. shellexecute(, "print", "Test.pdf",,, SW_NORMAL) ) ein PDF-Dokument gedruckt, schließt sich nach Beendigung des Drucks das Arcobat-Fenster nicht. Dieses Phänomen tritt bei der Acrobat-Version 7.xx auf, mit der Version 5 schließt sich das Fenster automatisch. Bei der 6er Version weiß ich es nicht.
Müssen für die 7er Version evtl. Parameter übergeben werden (und welche), damit sich nach dem Druck Acrobat automatisch beendigt?
Gruß, Olaf
ich bin auf folgendes Problem gestoßen: Wird mit der Windows-API-Funktion ShellExecute() ( z.B. shellexecute(, "print", "Test.pdf",,, SW_NORMAL) ) ein PDF-Dokument gedruckt, schließt sich nach Beendigung des Drucks das Arcobat-Fenster nicht. Dieses Phänomen tritt bei der Acrobat-Version 7.xx auf, mit der Version 5 schließt sich das Fenster automatisch. Bei der 6er Version weiß ich es nicht.
Müssen für die 7er Version evtl. Parameter übergeben werden (und welche), damit sich nach dem Druck Acrobat automatisch beendigt?
Gruß, Olaf
- Lewi
- 1000 working lines a day
- Beiträge: 830
- Registriert: Di, 07. Feb 2006 14:10
- Wohnort: Hamburg
- Danksagung erhalten: 2 Mal
Re: Drucken von PDF-Files mit API-Shellexecute()
Mittlerweile gibt es leistungsfähhige und ebenfalls kostenlose Alternative zum Arcobat-Reader, die übrigens auch nicht so resourcenhungrig sind.
Mit dem Foxit-Reader können PDF-Files z.B. auch ohne ActiveX gedruckt werden:
Viele Grüße
Olaf
Mit dem Foxit-Reader können PDF-Files z.B. auch ohne ActiveX gedruckt werden:
Code: Alles auswählen
#include "Common.ch"
#include "dll.CH"
// defines for ShellExecuteA
#define SHELL_OPEN "open"
#define SHELL_PRINT "print"
#define SHELL_EXPLORE "explore"
#define SW_NORMAL 1
#define SW_SHOW 5
PROCEDURE AppSys
/* use the ANSI charset by default */
SET CHARSET TO ANSI
RETURN
PROCEDURE Main
MsgBox("Anzeige eines PDF-Files")
ShellExecute(NIL, SHELL_OPEN, "test.pdf")
Msgbox("Drucken eines PDF-Files")
IF ShellExecute(NIL, SHELL_PRINT, "test.pdf")
MsgBox("PDF wurde gedruckt")
endif
RETURN
FUNC ShellExecute(nWhnd, cMode, cFile, cPara, cDir, nShow )
Local cBin := DllPrepareCall( "SHELL32.DLL", DLL_STDCALL, "ShellExecuteA")
Local nErg
SET DEFAULT to nWhnd to AppDesktop():GetHWnd()
SET DEFAULT to cMode to SHELL_OPEN
SET DEFAULT to nShow to SW_NORMAL
cPara := iif( empty(cPara), cPara := 0, '"' + cPara +'"')
iif( empty(cDir), cDir:=0, )
nErg := DllExecuteCall(cBin, nWhnd, @cMode, @cFile, @cPara, @cDir, nShow)
RETURN ( IIF( nErg <= 32, .F., .T.))
Olaf
Re: Drucken von PDF-Files mit API-Shellexecute()
Der Foxit-Reader hat mir viele Probleme verursacht. Vielleicht lag es daran, dass ich mich zu doof angestellt hab ^^, aber das Qualitätsmanagement ist mir sehr wichtig.
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Drucken von PDF-Files mit API-Shellexecute()
Ich hab mich mal für den Fox-Reader interessiert. Jetzt nicht mehr:
- Der Support ist selbst bei potentiellen Kunden von denen grauenhaft (Interesse von deren Seite teilweise gegen Null)
- Das Teil kostet, sobald man das kommerziell einsetzen möchte. Und das nicht zu knapp.
- Die deutsche Niederlassung kennt die genauen Lizensierungsbedingungen nicht, muß in USA nachfragen, eine Antwort bekommt man trotzdem nicht.
So war das jedenfalls noch im vergangenen jahr.
Jan
- Der Support ist selbst bei potentiellen Kunden von denen grauenhaft (Interesse von deren Seite teilweise gegen Null)
- Das Teil kostet, sobald man das kommerziell einsetzen möchte. Und das nicht zu knapp.
- Die deutsche Niederlassung kennt die genauen Lizensierungsbedingungen nicht, muß in USA nachfragen, eine Antwort bekommt man trotzdem nicht.
So war das jedenfalls noch im vergangenen jahr.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Drucken von PDF-Files mit API-Shellexecute()
Jan,
wo steht, dass Foxit Reader Geld kostet? Und was hättest Du dann damit zu tun. Der User installiert das und Du gibst ihm nur die Möglichkeiten damit zu arbeiten.
wo steht, dass Foxit Reader Geld kostet? Und was hättest Du dann damit zu tun. Der User installiert das und Du gibst ihm nur die Möglichkeiten damit zu arbeiten.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Lewi
- 1000 working lines a day
- Beiträge: 830
- Registriert: Di, 07. Feb 2006 14:10
- Wohnort: Hamburg
- Danksagung erhalten: 2 Mal
Re: Drucken von PDF-Files mit API-Shellexecute()
Ich habe bei mir den Foxit Reader im Einsatz und keine Probleme.
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Drucken von PDF-Files mit API-Shellexecute()
Hallo Manfred,
es ging damals darum, daß ich den mit auf die CD packe. Ich wollte nicht, daß der User selber erst ins Internet gehen muß für das Teil. Und das geht eben dann nicht kostenfrei. Damals jedenfalls.
Jan
es ging damals darum, daß ich den mit auf die CD packe. Ich wollte nicht, daß der User selber erst ins Internet gehen muß für das Teil. Und das geht eben dann nicht kostenfrei. Damals jedenfalls.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Lewi
- 1000 working lines a day
- Beiträge: 830
- Registriert: Di, 07. Feb 2006 14:10
- Wohnort: Hamburg
- Danksagung erhalten: 2 Mal
Re: Drucken von PDF-Files mit API-Shellexecute()
Hallo Jan,
lege doch auf der CD einen Download-Link mit entsprechenden Copyright-Hinweisen ab. Dann hätte der User auch immer die aktuelle Version.
Gruß, Olaf
lege doch auf der CD einen Download-Link mit entsprechenden Copyright-Hinweisen ab. Dann hätte der User auch immer die aktuelle Version.
Gruß, Olaf