TPdfMeasureHelper = class helper for TPdf
procedure MeasureText(const Text, Font: WString; FontSize: Single; out Width, Height: Double);
function MeasureTextWidth(const Text, Font: WString; FontSize: Single): Double;
function WrapText(const Text, Font: WString; FontSize: Single; MaxWidth: Double): TArray<WString>;
end;
| Member | Description |
|---|---|
TPdf.MeasureText | Returns text width and height in PDF user units for the selected font and size |
TPdf.MeasureTextWidth | Returns only the text width in PDF user units |
TPdf.WrapText | Splits text on spaces and packs words into lines no wider than MaxWidth |
FPdfMeasure adds a class helper to TPdf so text can be measured in PDF user units before drawing
Use MeasureText and MeasureTextWidth for layout calculations, and WrapText to split text into lines that fit a chosen width
var
Width, Height: Double;
Lines: TArray<WString>;
begin
Pdf.MeasureText('Invoice total', 'Arial', 12, Width, Height);
Lines := Pdf.WrapText(LongText, 'Arial', 10, 240);
end;