TextRect関数を確認してみてください。この関数を使用すると、テキストを印刷する対象の四角形を指定できるため、列を狭めることができます。
uses Graphics;
var
Text: string;
TargetRect: TRect;
begin
Printer.BeginDoc;
Text := 'This is a very long text';
// now I'll specify the rectangle where the text will be printed
// it respects the rectangle, so the text cannot exceed these coordinates
// with the following values you will get the column width set to 50 px
TargetRect := Rect(Margin, Y, Margin + 50, Y + LineHeight);
Printer.Canvas.Font.Size := 11;
Printer.Canvas.Font.Name := 'Arial';
Printer.Canvas.Font.Style := [fsBold];
Printer.Canvas.TextRect(TargetRect, Text);
Printer.EndDoc;
end;
これを除いて、TextRect関数セットを使用して、テキストの配置、ワード ラップなどを指定するのに役立つフォーマット フラグを取得できます。 250;117] 以下を使用できます。
Text := 'Centered text';
TargetRect := Rect(100, 100, 250, 117);
Printer.Canvas.TextRect(TargetRect, Text, [tfCenter]);
または、あなたの場合、ワードラップの方が便利かもしれません。テキストがTextRect関数によって自動的にラップされる四角形 [100;100]、[200;134] の例を次に示します。
Text := 'This is a very long text';
TargetRect := Rect(100, 100, 200, 134);
Printer.Canvas.TextRect(TargetRect, Text, [tfWordBreak]);