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 | Returnerar textens bredd och höjd i PDF-användarenheter för valt typsnitt och vald storlek |
TPdf.MeasureTextWidth | Returnerar endast textbredden i PDF-användarenheter |
TPdf.WrapText | Bevarar explicita radbrytningar, bryter token till MaxWidth och kan dela för stora token vid Unicode-skalärgränser |
FPdfMeasure lägger till en klasshjälpare på TPdf så att text kan mätas i PDF-användarenheter innan den ritas
Använd MeasureText och MeasureTextWidth för layoutberäkningar samt WrapText för att dela text i rader som passar en vald bredd
Den ursprungliga WrapText-overloaden behåller en för stor token intakt av kompatibilitetsskäl; skicka BreakLongWords=True för att dela CJK-text eller annan text utan mellanslag samtidigt som UTF-16-surrogatpar bevaras
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;