Hallo beisammen,
ich drucke mittels folgender Source direkt auf Printer.Canvas und hätte nun auch gerne eine Druckvorschau.
<PRE>
with Printer do
begin
PrinterIndex := fmProDruck.cbPrinters.ItemIndex;
Copies := StrToInt(fmProDruck.edExemplare.Text);
Title := 'Dokumententitel';
Orientation := poPortrait;
BeginDoc;
with Canvas do
begin
MoveTo(0,0); // Einheit auf mm stellen
SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC);
Font.Name := 'Arial'; // Schriftart
TextOut(x, y, 'Dieser Text wird gedruckt');
end;
EndDoc;
end;
</PRE>
Es sollte doch möglich sein, anstatt die Ausgabe direkt auf Printer.Canvas zu lenken, zunächst auf TImage.Canvas zu "drucken", das Image anzuzeigen und - wenn tatsächlich gedruckt werden soll - TImage.Canvas auf Printer.Canvas zu kopieren.
Dabei habe ich folgende Fragen:
Wie kann ich bei der Verwendung von TImage.Canvas einen Seitenumbruch realisieren? Muss ich für jede Seite ein neues TImage-Objekt anlegen?
Wie kann ich beim Kopieren sicherstellen, dass der Druck auf Papier nicht verzerrt ausgegeben wird?
Hat jemand ein bisschen Code für mich, wenn das schon jemand realisiert hat?
Bereits jetzt herzlichen Dank für jede Hilfe!
Ralph
ich drucke mittels folgender Source direkt auf Printer.Canvas und hätte nun auch gerne eine Druckvorschau.
<PRE>
with Printer do
begin
PrinterIndex := fmProDruck.cbPrinters.ItemIndex;
Copies := StrToInt(fmProDruck.edExemplare.Text);
Title := 'Dokumententitel';
Orientation := poPortrait;
BeginDoc;
with Canvas do
begin
MoveTo(0,0); // Einheit auf mm stellen
SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC);
Font.Name := 'Arial'; // Schriftart
TextOut(x, y, 'Dieser Text wird gedruckt');
end;
EndDoc;
end;
</PRE>
Es sollte doch möglich sein, anstatt die Ausgabe direkt auf Printer.Canvas zu lenken, zunächst auf TImage.Canvas zu "drucken", das Image anzuzeigen und - wenn tatsächlich gedruckt werden soll - TImage.Canvas auf Printer.Canvas zu kopieren.
Dabei habe ich folgende Fragen:
Wie kann ich bei der Verwendung von TImage.Canvas einen Seitenumbruch realisieren? Muss ich für jede Seite ein neues TImage-Objekt anlegen?
Wie kann ich beim Kopieren sicherstellen, dass der Druck auf Papier nicht verzerrt ausgegeben wird?
Hat jemand ein bisschen Code für mich, wenn das schon jemand realisiert hat?
Bereits jetzt herzlichen Dank für jede Hilfe!
Ralph
Comment