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).