|
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, използван от reader-и, които не парсват rich text, плюс новите /RV rich-text XHTML body и /DS default style записи, които Acrobat и Foxit консумират директно за визуализиране на стилен текст. 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 бит, подадения InitialValue като /V и /DV, RichValue като /RV и DefaultStyle като /DS. InitialValue, RichValue и DefaultStyle автоматично разпознават многобайтово съдържание и при нужда преминават към UTF-16BE hex-string кодиране, съвпадайки със съществуващото поведение на AddTextField за международни plain-text полета Rich-text рендирането се случва в reader-а: Acrobat / Foxit / Edge / Chrome PDF viewer всички парсват /RV, когато RichText bit-ът е включен, и взимат Unicode font fallbacks от системата, така че CJK, Cyrillic, Arabic и accented Latin съдържание се показва правилно, без HotPDF да вгражда CID font в /DR Resources. За собствения AutoFormAppearances path на HotPDF branch-ът placeholder empty-AP за multi-byte текст остава наличен (задачата v2.56.0+); rich-text-aware reader-ите игнорират този AP и рендират директно от /RV
FieldName - /T partial name на PDF form field-а (трябва да е уникално в рамките на неговия parent). Разрешени са интервали и non-ASCII байтове; non-ASCII задейства UTF-16BE кодиране на излъчвания /T низ InitialValue - plain-text PDF text string, записван в /V и /DV. Reader-и, които не парсват /RV, използват тази стойност за показване RichValue - PDF 1.7 Annex L tagged XHTML body (the most portable form starts with DefaultStyle - CSS-like style string, прилаган върху знаците, които потребителят въвежда при попълване, когато в /RV няма стил за отделен знак. Пример: 'font: 12pt Helvetica; color: #000000' Rectangle - /Rect на widget-а в HotPDF screen coordinates (origin горе вляво); YProjection се случва автоматично, когато rect-ът се преобразува в PDF user space MaxLen - optional; when greater than zero, emits a Flags - незадължително; допълнителни field flags за OR в /Ff над автоматично добавения RichText bit. Типични допълнителни флагове: ffMultiline за multi-paragraph rich-text тела, ffReadOnly за форматиран текст само за показване. Флагът ffRichText винаги се добавя, така че извикващият да не трябва да го включва ръчно
Примерен код
See Also AddTextField, AutoFormAppearances, Version, AcroForm Support
|