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 | Devuelve el ancho y la altura del texto en unidades de usuario de PDF para la fuente y el tamaño seleccionados |
TPdf.MeasureTextWidth | Devuelve solo el ancho del texto en unidades de usuario de PDF |
TPdf.WrapText | Preserva los saltos de línea explícitos, envuelve los tokens hasta MaxWidth y puede dividir tokens sobredimensionados en los límites escalares Unicode |
FPdfMeasure añade un class helper a TPdf para que el texto pueda medirse en unidades de usuario de PDF antes de dibujarlo
Use MeasureText y MeasureTextWidth para cálculos de diseño, y WrapText para dividir el texto en líneas que se ajusten a un ancho elegido
La sobrecarga original de WrapText mantiene intacto un token sobredimensionado por compatibilidad; pase BreakLongWords=True para dividir texto CJK u otro texto sin espacios mientras se preservan los pares sustitutos 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;