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 | Beschreibung |
|---|---|
TPdf.MeasureText | Gibt Textbreite und -höhe in PDF-Benutzereinheiten für die ausgewählte Schrift und Größe zurück |
TPdf.MeasureTextWidth | Gibt nur die Textbreite in PDF-Benutzereinheiten zurück |
TPdf.WrapText | Bewahrt explizite Zeilenumbrüche, bricht Tokens auf MaxWidth um und kann übergroße Tokens an Unicode-Scalar-Grenzen teilen |
FPdfMeasure ergänzt TPdf um einen Klassen-Helfer, damit Text bereits vor dem Zeichnen in PDF-Benutzereinheiten gemessen werden kann
Verwenden Sie MeasureText und MeasureTextWidth für Layoutberechnungen und WrapText, um Text in Zeilen zu teilen, die eine gewählte Breite einhalten
Die ursprüngliche WrapText-Überladung lässt ein übergroßes Token der Kompatibilität wegen unangetastet; übergeben Sie BreakLongWords=True, um CJK- oder anderen Text ohne Leerzeichen zu teilen und dabei UTF-16-Surrogatpaare zu bewahren
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;