PDFium Delphi Component Docs

FPdfMeasure модуль

Модуль: FPdfMeasure
Вспомогательные средства измерения текста для TPdf перед добавлением содержимого на страницу

Syntax

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;

Public Methods

MemberDescription
TPdf.MeasureTextВозвращает ширину и высоту текста в пользовательских единицах PDF для выбранного шрифта и размера
TPdf.MeasureTextWidthВозвращает только ширину текста в пользовательских единицах PDF
TPdf.WrapTextСохраняет явные разрывы строк, переносит лексемы в пределах MaxWidth и может разбивать слишком длинные лексемы по границам скалярных значений Unicode

Description

FPdfMeasure добавляет к TPdf помощник классов, чтобы текст можно было измерять в пользовательских единицах PDF до отрисовки

Используйте MeasureText и MeasureTextWidth для расчётов разметки, а WrapText — чтобы разбить текст на строки, умещающиеся в заданную ширину

Исходная перегрузка WrapText сохраняет слишком длинную лексему целой для совместимости; передайте BreakLongWords=True, чтобы разбивать текст CJK или другой текст без пробелов с сохранением суррогатных пар UTF-16

Example

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;

See Also

TPdf.AddText, TPdf.AddText