Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi PDF an beliebigen Drucker schicken (https://www.delphipraxis.net/135760-pdf-beliebigen-drucker-schicken.html)

chrischn 31. Okt 2009 09:02

Re: PDF an beliebigen Drucker schicken
 
Eventuell hilft der Foxit Reader, mit ihm kann man per Batch ein PDF drucken, ohne dass ein Fenster aufgeht :

foxit Reader.exe /p meinpdf.pdf --> Drucken mit Standard Drucker
foxit Reader.exe /t meinpdf.pdf MeinDrucker --> Drucken mit bestimmten Drucker

Gruß

Chrischn

mkinzler 31. Okt 2009 09:09

Re: PDF an beliebigen Drucker schicken
 
Ein einfaches ShellExecute mit print sollte eigentlich auch funktionieren

mjustin 31. Okt 2009 10:58

Re: PDF an beliebigen Drucker schicken
 
Zitat:

Zitat von Moony
Ja, die Komponente habe ich auch schon gesehen, aber ich finde das ein wenig teuer auch noch nur fürs Drucken die ProPlus Lizenz nehmen zu müssen.

Dann wäre eventuell noch für ca. 250 € die WPViewPDF V2 geeignet:

http://www.wpcubed.com/products/pdfviewer/index.htm

Diese ist mein Favorit, falls Acrobat mal an seine Grenzen stößt oder seine "undokumentierte" Druckfunktion nicht mehr verwendet werden kann.

Reinhard Kern 31. Okt 2009 13:26

Re: PDF an beliebigen Drucker schicken
 
Zitat:

Zitat von Moony
Danke, das habe ich auch schon gemacht, aber leider wird durch das Kommando SW_HIDE das PDF Dokument trotzdem mit dem Reader geöffnet und gedruckt. Dass es gedruckt wird ist das einzige was ich brauche. Hier stört das Öffnen des Pdf's. Und wenn es dafür eine Lösung gibt, bin ich voll und ganz glücklich.

Hallo,

was genau verstehst du unter "Öffnen"? Es gibt mit absoluter Sicherheit kein Programm, das eine PDF-Datei drucken kann, ohne die Datei zu öffnen.

Mit Ghostscript lässt sich das sicher mit einem (verborgenen) Script erledigen.

Gruss Reinhard

hathor 31. Okt 2009 15:19

Re: PDF an beliebigen Drucker schicken
 
Den gewünschten Drucker vorübergehend zum Standarddrucker zu machen sollte doch möglich sein.

Und dann...

Delphi-Quellcode:
uses ShellAPI;

procedure PrintPDF(Filename: WideString);
begin
  ShellExecuteW(0, 'open', 'acrord32', PWideChar('/p /h ' + Filename), nil, SW_HIDE);
end;

procedure TForm1.PrintPDF1Click(Sender: TObject);
begin
PrintPDF('test.pdf');
end;
You can display and print a PDF file using command lines with Acrobat and Acrobat Reader.
AcroRd32.exe filename - Executes the Reader and displays a file.
Other options for the command line are:
AcroRd32.exe /p filename - Executes the Reader and prints a file.
AcroRd32.exe /t path printername drivername portname - Initiates
Acrobat Reader, prints a file while suppressing the Acrobat print dialog
box, then terminates Reader.
The four parameters of the /t option evaluate to path, printername,
drivername, and portname (all strings).
printername - The name of your printer.
drivername - Your printer driver's name. Whatever appears in the Driver Used
box when you view your printer's properties.
portname - The printer's port. portname cannot contain any "/" characters;
if it does, output is routed to the default port for that printer.
If using Acrobat, substitute Acrobat.exe in place of AcroRd32.exe in the command lines.
option meaning:
/n Launch a separate instance of the Acrobat application, even if one is currently open.
/s Open Acrobat, suppressing the splash screen.
/o Open Acrobat, suppressing the open file dialog.
/h Open Acrobat in hidden mode.

Keldorn 31. Okt 2009 18:13

Re: PDF an beliebigen Drucker schicken
 
Zitat:

Zitat von Reinhard Kern
was genau verstehst du unter "Öffnen"? Es gibt mit absoluter Sicherheit kein Programm, das eine PDF-Datei drucken kann, ohne die Datei zu öffnen.

Hallo,

vielleicht verhalten sich neuere Version vom Acrobat reader anders. Mit "Öffnen" meint er, das der Acrobat reader sich trotz "Hide" etc. öffnet. Ich hatte wollte mit dem Acrobat Reader7/8 auch PDFs auf einem bestimmten Drucker mit wählbarer Kopieanzahl ausgeben. Letztenendes bin ich bei Bei Google suchenpdfp hängengeblieben. Angesteuert wirds auch per Shellexecute, allerdings aht es den Vorteil, das sich Druck und Anzahl der Kopien einstellen lassen. Auch wird der Reader nach dem Beenden auch wieder beendet, er ploppt allerdings kurz beim Drucken auf, ganz im Hintergrund ging es nicht.

Gruß Frank

Tod787 20. Jan 2011 15:59

AW: PDF an beliebigen Drucker schicken
 
Hänge gerade auch am selben Problem. Möchte ein bereits vorhandenes pdf ausdrucken ohne dass ein Acobat oder sonstiges Fenster aufgeht.
Es kann auch gerne eine Komponente sein doch da ich zunächst nur drucken möchte sind Komponenten wie PDFtoolkit und WPViewPDF zu teuer.

p80286 20. Jan 2011 17:07

AW: PDF an beliebigen Drucker schicken
 
Man könnte auch versuchen, das mit Hilfe von OLE zu lösen.
Ich muß allerdings sagen, daß ich meine Versuche OLE einzusetzen wg. fehlender bzw. unbrauchbarer Doku eingestellt hatte.

Gruß
K-H

HartmutG 21. Jan 2011 12:36

AW: PDF an beliebigen Drucker schicken
 
Ich nutze dazu QuickPDF (ca. 250 $) http://www.quickpdflibrary.com/ . Damit kann man ein PDF-Dokument in eine Druckdatei schreiben und diese dann mit CopyFile auf jede beliebige Druckqueue kopieren.

Gruß

Hartmut

Tod787 21. Jan 2011 15:23

AW: PDF an beliebigen Drucker schicken
 
Danke hab mir jetzt weitergeholfen indem ich nach dem Druck das Acrobat Fenster selbst schliesse. Ist viel nicht die feine Art aber es tuts :)

QuickPDF merk ich mir aber mal weil der Preis im Vergleich zu den anderen Komponenten ganz ok ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz