Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

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)

Moony 17. Jun 2009 11:28


PDF an beliebigen Drucker schicken
 
Hallo zusammen,

ich weiß, dieses Thema wurde bestimmt schon x-mal durchgekaut, aber ich habe mich die letzten 2 Tage durch etliche Foren, Anbieter, Componentenverwaltungen, etc. durchgewühlt, aber keine passende Lösung gefunden.

Zu meinem Problem:
Ich habe eine bestehende PDF Datei und möchte diese ohne Dialoge oder sonstiges an einem ausgewählten Drucker drucken. Habe bereits bestimmt 10 VCL Komponenten probiert, die alle lieferten aber nicht das gewünschte Ergebnis. Es muss doch eine Möglichkeit geben ein bestehendes PDF File zu öffnen (ohne Anzeige, Vorschau oder so) und dann an einen von den im System registrierten Drucker auszudrucken???

Alle Komponenten bieten die Möglichkeit von Konvertierung & co, aber das brauche ich nicht. Ich will lediglich ein PDF Dokument an einen von mir gewählten Drucker (nicht Standarddrucker) schicken. Ich weiß nicht, ob es eine Möglichkeit gibt das PDF File zu öffnen und an das Canvas des Druckers zu schicken, wie man das sonst mit Bilddateien machen würde.

Ich hoffe ihr habt irgendeine passende Lösung für mich.....ich verzweifle hier nämlich schon. :wall:

Danke & Gruß, Moony

mkinzler 17. Jun 2009 11:30

Re: PDF an beliebigen Drucker schicken
 
Man könnte es mit Report-Engines lösen

Moony 17. Jun 2009 11:31

Re: PDF an beliebigen Drucker schicken
 
Kenne ich nicht. Wie funktioniert das?

mkinzler 17. Jun 2009 11:33

Re: PDF an beliebigen Drucker schicken
 
Rave, QuickReports, FreeReports/FastReports, ...

Welche Delphi-Version?

Bernhard Geyer 17. Jun 2009 11:34

Re: PDF an beliebigen Drucker schicken
 
Zitat:

Zitat von mkinzler
Man könnte es mit Report-Engines lösen

Für bestehende PDF's?

mquadrat 17. Jun 2009 11:55

Re: PDF an beliebigen Drucker schicken
 
Jeder Acrobat Reader bringt ne DLL mit, die man in Delphi benutzen kann. Damit kann man die Datei öffnen und drucken. Wenn ich nicht irre dann auch ohne Dialoge. Könnte aber sein, dass dann immer auf dem Windows-Standarddrucker gedruckt wird. Ist schon ne Weile her, dass ich das probiert habe.

Moony 17. Jun 2009 12:01

Re: PDF an beliebigen Drucker schicken
 
Wie heißt denn die DLL und gibt es eine Dokumentation zu dieser über Deklarationen und co?

Ich verwende Delphi 7 & 2009. Aber da hat Bernhard glaube ich Recht, ich möchte nur ein PDF einlesen und Drucken.

nahpets 17. Jun 2009 12:04

Re: PDF an beliebigen Drucker schicken
 
Hallo,

schau mal bitte, ob Dir das da weiter hilft: http://www.swissdelphicenter.ch/de/showcode.php?id=793

mquadrat 17. Jun 2009 12:07

Re: PDF an beliebigen Drucker schicken
 
Das Ding schhimpft sich bei mir im Dialog "Komponente importieren" "Adobe Acrobat 8.0 Type Library" und liegt im Verzeichnis des Readers (AcroRd32.dll).

Mein Code schaut so aus:

Delphi-Quellcode:
     
      pdf := TAcroPDF.Create(self);
      pdf.Parent := parentPanel;      // Parent setzen nicht vergessen
      pdf.Align := alClient;
      result := true;
      try
        pdf.src := zuDruckendeDatei;  // Hier die Datei rein
        pdf.printAll;
      except
        result := false;
        //freeAndNil(pdf); Wenn man das Objekt freigibt wird nicht gedruckt?!
      end;
Wie im Kommentar steht kein FreeAndNil machen. Dann hat er zumindest bei mir nicht gedruckt. Wenn der Parent auf visible = false steht, dann sieht man auch nix.

Moony 17. Jun 2009 12:30

Re: PDF an beliebigen Drucker schicken
 
@nahpets: Diese Möglichkeit funktioniert schon mal, aber das PDF wird zusätzlich geöffnet und das will ich nicht. Also muss der Druck noch stillschweigend abgewickelt werden.

@mquadrat: Ich habe die Acrobat Komponente importiert, aber ich habe nirgends die Möglichkeit ein AcroPDF zu erstellen. Muss ich noch was beachten oder sonstiges?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 Uhr.
Seite 1 von 4  1 23     Letzte »    

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