Ich hab hier mal einen Code, um einen Imageinhalt genau auf die Hälfte eines Blattes zu drucken. Die Verhältnisse zwischen den einzelnen Seiten stimmen auch genau mit dem des Originals überein! (Ausgabe ist in diesem speziellen Fall das Image!)
Delphi-Quellcode:
procedure drucken;
var a: Trect;
h,b:integer;
v:real;
begin
h:=Ausgabe.Height;
b:=Ausgabe.Width;
v:=h /b;
Printer.BeginDoc; //Druckauftrag starten
With Printer.Canvas do
begin
a:=Bounds(0, 0, Printer.PageWidth, trunc(Printer.PageWidth*v)); //generiert ein Rechteck mit einem punkt links oben und einem rechts unten
StretchDraw(a, Ausgabe.Picture.Bitmap); //zieht den Imageinhalt auf, sodass er in das Rechteck (a) passt
end;
Printer.EndDoc; //Druckauftrag beenden
end;