Ich könnte das auch am Frontend machen, aber da habe ich keine Idee, wie ich geschickt DRY-Code vermeiden kann. Beispiel aus dem Hut:
Delphi-Quellcode:
PDFPrinter.Font := pfHelvetica;
PDFPrinter.FontSize := 28;
Hoehe := PDFPrinter.TextHeight('Hier kommt jetzt ein Text, der ggf. auch umgebrochen wird.');
PDFPrinter.Abstand := 5;
Hoehe := Hoehe + PDFPrinter.Abstand;
PDFPrinter.FontSize := 12;
Hoehe := Hoehe + PDFPrinter.TextHeight('X');
if not PDFPrinter.FitsOnPage(Hoehe) then
PDFPrinter.NewPage;
So weit, so gut, aber für die tatsächliche Ausgabe müsste ich die ganzen Zuweisungen jetzt noch einmal machen. Wenn man da nicht aufpasst, rechnet man mit Schriftgröße 28, gibt aber in Größe 32 aus, das finde ich inakzeptabel.