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;
| العضو | الوصف |
|---|---|
TPdf.MeasureText | يعيد عرض النص وارتفاعه بوحدات مستخدم PDF للخط والحجم المختارين |
TPdf.MeasureTextWidth | يعيد عرض النص فقط بوحدات مستخدم PDF |
TPdf.WrapText | يحافظ على فواصل الأسطر الصريحة، ويلف الرموز إلى MaxWidth، ويمكنه تقسيم الرموز الضخمة عند حدود أحرف Unicode العددية |
يضيف FPdfMeasure مساعد فئة إلى TPdf بحيث يمكن قياس النص بوحدات مستخدم PDF قبل الرسم
استخدم MeasureText و MeasureTextWidth لحسابات التخطيط، و WrapText لتقسيم النص إلى أسطر تناسب عرضًا مختارًا
يُبقي تحميل WrapText الأصلي الرمز الضخم سليمًا للتوافق؛ مرِّر BreakLongWords=True لتقسيم نص CJK أو غيره دون مسافات مع الحفاظ على أزواج 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;