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>;
function WrapText(const Text, Font: WString; FontSize: Single; MaxWidth: Double; BreakLongWords: Boolean): TArray<WString>;
end;
| Member | Description |
|---|---|
TPdf.MeasureText | Vrací šířku a výšku textu v uživatelských jednotkách PDF pro vybrané písmo a velikost |
TPdf.MeasureTextWidth | Vrací jen šířku textu v uživatelských jednotkách PDF |
TPdf.WrapText | Zachovává explicitní konce řádků, zalamuje tokeny na MaxWidth a umí rozdělit předimenzované tokeny na hranicích Unicode skalárů |
FPdfMeasure přidá k TPdf class helper, takže text lze změřit v uživatelských jednotkách PDF před vykreslením
Pro výpočty rozložení použijte MeasureText a MeasureTextWidth a WrapText k rozdělení textu na řádky odpovídající zvolené šířce
Původní přetížení WrapText nechá pro kompatibilitu předimenzovaný token v celku; předejte BreakLongWords=True k rozdělení textu CJK nebo jiného textu bez mezer při zachování náhradních párů 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, True);
end;