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 | Zwraca szerokość i wysokość tekstu w jednostkach użytkownika PDF dla wybranej czcionki i rozmiaru |
TPdf.MeasureTextWidth | Zwraca tylko szerokość tekstu w jednostkach użytkownika PDF |
TPdf.WrapText | Dzieli tekst po spacjach i pakuje słowa w wiersze nie szersze niż MaxWidth |
FPdfMeasure dodaje do TPdf pomocnika klasy, dzięki któremu tekst można mierzyć w jednostkach użytkownika PDF przed rysowaniem
Użyj MeasureText i MeasureTextWidth do obliczeń układu, a WrapText do dzielenia tekstu na wiersze mieszczące się w wybranej szerokości
Oryginalne przeciążenie WrapText zachowuje dla zgodności zbyt długi token w całości; przekaż BreakLongWords=True, aby dzielić tekst CJK lub inny tekst bez spacji, zachowując pary surogatowe UTF-16
var
Width, Height: Double;
Lines: TArray<WString>;
begin
Pdf.MeasureText('Invoice total', 'Arial', 12, Width, Height);
Lines := Pdf.WrapText(LongText, 'Arial', 10, 240);
end;