|
THPDFPage.AddRichTextField
|
Вверх |
|
Добавляет на текущую страницу PDF 1.5+ AcroForm rich-text text widget (ISO 32000-1 12.7.4.3 + Annex L). Widget несет стандартный /V + /DV plain-text fallback для readers, которые не разбирают rich text, а также новые записи /RV rich-text XHTML body и /DS default style, которые Acrobat и Foxit напрямую используют для rendering styled text. Bit /Ff RichText (26) автоматически OR-добавляется
Delphi syntax: procedure AddRichTextField(const FieldName, InitialValue: AnsiString; const RichValue, DefaultStyle: AnsiString; Rectangle: TRect; MaxLen: Integer = 0; Flags: THPDFFormFieldFlags = []);
C++ syntax: void AddRichTextField(const AnsiString& FieldName, const AnsiString& InitialValue, const AnsiString& RichValue, const AnsiString& DefaultStyle, const TRect& Rectangle, int MaxLen = 0, THPDFFormFieldFlags Flags = THPDFFormFieldFlags());
Описание Widget выводится как Tx form field с /FT /Tx, /DA (/Helv 12 Tf 0 0 0 rg), /Ff с установленным RichText bit, переданным InitialValue как /V и /DV, RichValue как /RV и DefaultStyle как /DS. InitialValue, RichValue и DefaultStyle автоматически обнаруживают multi-byte content и при необходимости переключаются на UTF-16BE hex-string encoding, совпадая с существующим поведением AddTextField для international plain-text fields Rich-text rendering выполняется в reader: Acrobat / Foxit / Edge / Chrome PDF viewer разбирают /RV при включенном RichText bit и используют Unicode font fallbacks из системы, поэтому CJK, Cyrillic, Arabic и accented Latin content отображаются корректно без встраивания CID font в /DR Resources. Для собственного пути AutoFormAppearances HotPDF ветка placeholder empty-AP для multi-byte text остается на месте; rich-text-aware readers игнорируют этот AP и рендерят напрямую из /RV
FieldName — partial name /T поля PDF form, должен быть уникальным внутри parent. Пробелы и non-ASCII bytes разрешены; non-ASCII включает UTF-16BE encoding для выводимой строки /T InitialValue — plain-text PDF text string, записываемая в /V и /DV. Readers, которые не разбирают /RV, используют это значение для отображения RichValue - PDF 1.7 Annex L tagged XHTML body (the most portable form starts with DefaultStyle - CSS-like style string applied to characters the user types at fill time when no per-character style is present in Rectangle — /Rect widget в экранных координатах HotPDF (origin в левом верхнем углу); YProjection выполняется автоматически при преобразовании rect в PDF user space MaxLen - optional; when greater than zero, emits a Flags — необязательные дополнительные field flags для OR в /Ff сверх автоматически добавленного RichText bit. Типичные дополнительные flags: ffMultiline для multi-paragraph rich-text bodies, ffReadOnly для display-only formatted text. Флаг ffRichText всегда добавляется, caller не должен включать его сам
Code Example
См. также AddTextField, AutoFormAppearances, Version, AcroForm Support
|