Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Drucken in eine Datei (https://www.delphipraxis.net/53007-drucken-eine-datei.html)

FunkyGT 8. Sep 2005 11:00


Drucken in eine Datei
 
Hallo zusammen,

wenn ich einen Drucker auswähle, mit dem ich eine Datei erzeuge, quasi den Druckspool auf der Platte speichern möchte, erhalte ich eine Eingabeaufforderung, den Dateinamen einzugeben, wo sie gespeichert werden soll.

Meine Frage habe ich die Möglichkeit dem Druckertreiber über einen Parameter, diesen Dateinamen mitzugeben? Bzw. Bietet TPrinter um aus Delphi zu drucken einen Eigenschaft, Methode oder ähnliches ???

Ich bin etwas am verzweifelen.

Danke schon mal

Gruß Funky

RavenIV 8. Sep 2005 11:10

Re: Drucken in eine Datei
 
da bin ich auch schon mal daran verzweifelt.
konnte zwar in eine datei speichern, habe es aber nicht geschafft, Windows irgendwie zu überreden, diese auch wieder auszudrucken.

wenn du also eine Lösung bekommen hast, dann bitte hier posten.

gruessle

WoGe 8. Sep 2005 11:29

Re: Drucken in eine Datei
 
Hallo

probier mal
Code:
 Copy %1 \\rechner\drucker /b
wenn ich micht recht erinnere muss der Drucker freigegeben sein und der Freigabename benutzt werden.

mfg
wo

RavenIV 8. Sep 2005 12:06

Re: Drucken in eine Datei
 
der Parameter /b ist ne gute idee.
ich habs nämlich auch schon probiert mit dem copy, aber ohne /b.

FunkyGT 8. Sep 2005 12:27

Re: Drucken in eine Datei
 
Zitat:

Zitat von RavenIV
da bin ich auch schon mal daran verzweifelt.
konnte zwar in eine datei speichern, habe es aber nicht geschafft, Windows irgendwie zu überreden, diese auch wieder auszudrucken.

wenn du also eine Lösung bekommen hast, dann bitte hier posten.

gruessle

und wie hast du das gemcht mit dem datei speichern ???

RavenIV 8. Sep 2005 12:37

Re: Drucken in eine Datei
 
datei drucken -> ausdruck in datei umleiten...

sollte mit jeder windows-anwendung gehen, die auch druclen kann.
manche druckertreiber unterstützen dieses feature zusätzlich auch.

FunkyGT 8. Sep 2005 12:52

Re: Drucken in eine Datei
 
yo das weiss ich ja das ist ja mein eingangsproblem, ich möchte gerne als parameter den dateinamen mitgeben, damit das festern nicht mehr aufgeblendet wird, wo gespeichert werden soll

gruß Funky

RavenIV 8. Sep 2005 13:16

Re: Drucken in eine Datei
 
Zitat:

Zitat von FunkyGT
yo das weiss ich ja das ist ja mein eingangsproblem, ich möchte gerne als parameter den dateinamen mitgeben, damit das festern nicht mehr aufgeblendet wird, wo gespeichert werden soll

gruß Funky

achso, du möchtest also in eine datei drucken, aber das häkchen nicht machen und auch keinen dateinamen eingeben müssen.
da hab ich dich wohl falsch verstanden...

schau dir mal diesen link an: Drucken in Datei

FunkyGT 8. Sep 2005 13:36

Re: Drucken in eine Datei
 
ja ne ist das gleiche problem, wenn ich den generic text only nehme, muss ich auch den dateinamen eingeben und den will ich über einen parameter (oder wie auch immer ) dynamisch mitgeben können. :?:

stay tuned

Funky

Flocke 8. Sep 2005 13:56

Re: Drucken in eine Datei
 
Im Grunde kann man bei StartDoc (API-Funktion) einen Dateinamen mit angeben. Das Original aus Printers.pas sieht so aus (hoffe es ist ok, wenn ich den SC poste):

Delphi-Quellcode:
procedure TPrinter.BeginDoc;
var
  DocInfo: TDocInfo;
begin
  CheckPrinting(False);
  SetState(psHandleDC);
  Canvas.Refresh;
  TPrinterCanvas(Canvas).UpdateFont;
  FPrinting := True;
  FAborted := False;
  FPageNumber := 1;
  FillChar(DocInfo, SizeOf(DocInfo), 0);
  with DocInfo do
  begin
    cbSize := SizeOf(DocInfo);
    lpszDocName := PChar(Title);
  end;
  SetAbortProc(DC, AbortProc);
  StartDoc(DC, DocInfo);
  StartPage(DC);
end;
Die benutzte TDocInfo-Struktur hat auch ein Feld lpszOutput (PChar). Wenn das gesetzt ist, dann erfolgt die Ausgabe in diese Datei.

Ich hacke mal eben eine Erweiterung von Printers...

Nicht so einfach ... theoretisch müsste man den gesamten SC in eine neue Unit kopieren und fast alles übernehmen ... das kann ich natürlich hier nicht posten (wg. Copyright).


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr.
Seite 1 von 2  1 2      

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