Seite 1 von 1

QuickPDF

Verfasst: Fr, 21. Apr 2023 15:57
von Marcus Herz
Gibts das noch?
Ich lande immer bei Foxit SDK

Suche eine preiswerte Lösung, bestehende PDFs im Hintergrund automatisch an Drucker zu schicken.

Re: QuickPDF

Verfasst: Fr, 21. Apr 2023 18:20
von AUGE_OHR
hi Marcus,

ich nehme mal an das du kein ActiveX verwenden will sondern eine "Stand Alone" App

du könnest es mit SumatraPDF versuchen ob das drucken ohne GUI funktioniert

Code: Alles auswählen

-print-to <printer-name>

Re: QuickPDF

Verfasst: Fr, 21. Apr 2023 18:53
von HaPe
Hallo Zusammen !
du könnest es mit SumatraPDF versuchen ob das drucken ohne GUI funktioniert
Ja, das geht:
SUMATRAPDF.EXE -print-to-default Mein.PDF
Batchdatei erstellen und diese minimiert ausführen.

Re: QuickPDF

Verfasst: Fr, 21. Apr 2023 18:57
von brandelh
Ja die QuickPDF wurde übernommen, die DLL gibt es noch, aber für ein paar Druckausgaben wäre das viel zu teuer.
Es gibt hier einige Beispiele wie man z.B. Acrobat Reader per CMD Datei zum Drucken nutzen kann, ActiveX geht wohl auch ist aber viel komplexer.
Oder wie oben erwähnt Sumatra ...

Re: QuickPDF

Verfasst: Sa, 22. Apr 2023 13:29
von Werner_Bayern
Servus,

warum kein Shellexecute und ggf. vorher den Standarddrucker setzen und wieder restaurieren?

Re: QuickPDF

Verfasst: Sa, 22. Apr 2023 16:58
von HaPe
Hallo Werner !
warum kein Shellexecute und ggf. vorher den Standarddrucker setzen und wieder restaurieren?
Ich hatte es so probiert, hat aber (zumindest) nicht mit der verwendeten SumatraPDF-Version funktioniert.
Die Ausführung über die Batchdatei läuft ...

Re: QuickPDF

Verfasst: Sa, 22. Apr 2023 21:02
von Werner_Bayern
Marcus braucht doch kein PDF-Tool, er hat ja bereits die PDFs. Acrobat oder ähnliches ist i. d. R. immer auf dem PC, also sollte es mittels Shellexecute funktionieren.

Re: QuickPDF

Verfasst: Sa, 22. Apr 2023 21:52
von HaPe
Hallo Werner !
Marcus braucht doch kein PDF-Tool, er hat ja bereits die PDFs
Falls du mich meinst, SumatraPDF ist ein PDF-Viewer und kein PDF-Drucker.

In zwei Projekten muss ich vorhandene PDFs drucken.

Es hat sich herausgestellt, dass nicht auf allen PC ein PDF-Viewer installiert ist.
SumatraPDF ist nur eine EXE die alles kann und nicht installiert werden muss,
Beim Programmstart wird SumatraPDF, wenn noch nicht vorhanden, in ein Unterverzeichnis der lokalen Installation kopiert.
Wie geschrieben ging es nicht mit ShellExecute aber über die Batchdatei.
Das funkioniert seit Jahren sehr zuverlässig.

Re: QuickPDF

Verfasst: So, 23. Apr 2023 11:55
von AUGE_OHR
hi Hape,
HaPe hat geschrieben: Sa, 22. Apr 2023 21:52 Wie geschrieben ging es nicht mit ShellExecute aber über die Batchdatei.
welches "Verb" nutzt du dann :?:

es gibt "open" und "print" und damit kann ich ohne zusätzlichen Parameter eine Datei Drucken

Re: QuickPDF

Verfasst: So, 23. Apr 2023 15:02
von Werner_Bayern
Servus Hans-Peter,

ja, ich hab auf Deinen Beitrag geantwortet. Ein PC ohne PDF-Viewer - das dürfte die absolute Ausnahme sein. Danke für die Klarstellung, ich vermutete in der Tat, dass SumatraPDF ein PDF-Drucker ist.

Aber wie Jimmy schreibt, sollte auch der per shellexecute und dem Print-Parameter aufrufbar sein. Dann brauchst keine Batch-Datei, kein CMD-Fenster poppt auf und es geht auch schneller.

Re: QuickPDF

Verfasst: So, 23. Apr 2023 16:02
von brandelh
das CMD Fenster muss nicht aufpoppen, im Hintergrund sieht man das gar nicht.
Der größte Vorteil der beigelegten EXE ist, dass der Zielrechner keine Vorgaben für den PDF Viewer benötigt, man ist also davon völlig unabhängig.

Re: QuickPDF

Verfasst: So, 23. Apr 2023 16:07
von brandelh
HaPe hat geschrieben: Sa, 22. Apr 2023 21:52 Hallo Werner !
Marcus braucht doch kein PDF-Tool, er hat ja bereits die PDFs
Falls du mich meinst, SumatraPDF ist ein PDF-Viewer und kein PDF-Drucker.
Genauer gesagt, kein PDF-Drucker-Treiber, das stimmt, zum Ausdrucken braucht man ja auch einen Viewer und keinen PDF Drucker Treiber.
Ich habe das Tool früher auch verwendet, weil es zuverlässiger ist, als die immer unterschiedlicher aussehenden Acrobat Reader Versionen, die auch nicht jeder installiert hat.

Hier mal die Web-Site zur Info:

https://www.sumatrapdfreader.org/free-pdf-reader

Re: QuickPDF

Verfasst: So, 23. Apr 2023 20:09
von HaPe
Hallo Zusammen !
Ich hatte es so probiert, hat aber (zumindest) nicht mit der verwendeten SumatraPDF-Version funktioniert.
Mein Vorgänger des Projektes hatte es über die Batch-Methode gelöst.

Da ich sehr oft die Windows-Api nutze, ua. auch ShellExecute, kenne ich mich damit sehr gut aus.
Deshalb habe ich einige Versuche per ShellExecute probiert, natürlich mit Print.
Es kam aber kein Ausdruck zustande.

Bitte selber probieren und wenn es bei euch klappt, die SumatraPDF-Version mitteilen.

Re: QuickPDF

Verfasst: Mo, 24. Apr 2023 8:23
von Marcus Herz
Ein produktives Wochenende.
Danke dür die vielen Tipps- Hab Sumatra installiert und funktioniert problemlos.
Das Problem mit AcrobatReader und Shellexecute ist, dass die Applikation nach denm Druck geöffnet bleibt. Da die Drucke in der Produktion stattfinden, irritiert das dort nur, vor allem, wenn der sich in den Vordergrund schiebt.
Anmekung am Rande: Man kann mit Acrobat Reader auch einen speziellen Drucker in der Commandozeile definieren, man muss nicht den Standarddrucker umstellen:
/n - Launch a new instance of Reader even if one is already open
/s - Don't show the splash screen
/o - Don't show the open file dialog
/h - Open as a minimized window
/p <filename> - Open and go straight to the print dialog
/t <filename> <printername> <drivername> <portname> - Print the file the specified printer.
Der Schalter /h scheint irgendwie nicht zuverlässig zu funktionieren, dafür aber der Druckername

Code: Alles auswählen

FindExecutable(cFile, cPath, @cExe)
RunShell('/C start "" "' + cExe + '" /h /o /s /t "'+ cPath + cFile +'" "'+ cPrinter +'"',, true)
Aber wie gesagt, Acrobat bleibt geöffnet

Mit Sumatra, hab Portable Version SumatraPDF-3.4.6.zip in App Verzeichnis kopiert. Ohne Installation

Code: Alles auswählen

cExe	:= <Lese INI Eintrag>
RunShell('/C start "" "'+ cExe +'" -print-to "'+ cPrinter +'" "'+ cPath + cFile +'"',, true)