THPDFPage.AddRichTextField Method

 

THPDFPage.AddRichTextField

THPDFPage

 

Vrh

Doda gradnik besedilnega polja rich-text AcroForm PDF 1.5+ (ISO 32000-1 12.7.4.3 + Annex L) na trenutno stran. Gradnik nosi standardna rezervna navadna besedila /V + /DV, ki jih uporabljajo bralniki, ki rich texta ne razčlenjujejo, poleg tega pa še novo telo rich-text XHTML /RV in privzete sloge /DS, ki jih Acrobat in Foxit neposredno uporabita za prikaz oblikovanega besedila. Zastavica /Ff RichText (26) se samodejno vključi

 

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());

 

Description

Gradnik je izpisan kot polje obrazca Tx z /FT /Tx, /DA (/Helv 12 Tf 0 0 0 rg), /Ff z nastavljeno bitno vrednostjo RichText, podano InitialValue kot /V in /DV, RichValue kot /RV ter DefaultStyle kot /DS. InitialValue, RichValue in DefaultStyle samodejno zaznajo večbajtno vsebino in po potrebi preklopijo na kodiranje hex-niza UTF-16BE (v skladu z obstoječim obnašanjem AddTextField za mednarodna preprosta besedilna polja)

Rich-text izris se izvede v bralniku: Acrobat / Foxit / Edge / Chrome PDF viewer ob vklopljenem bitu RichText razčlenijo /RV in prevzamejo nadomestne Unicode pisave iz sistema, zato se CJK, cirilica, arabščina in naglašen latin prikažejo pravilno brez vdelave CID pisave v HotPDF /DR Resources. Pri poti AutoFormAppearances HotPDF za večbajtno besedilo ostaja odprta prazna AP veja (naloga v2.56.0+); bralniki, ki podpirajo rich text, ta AP ignorirajo in izrišejo neposredno iz /RV

 

FieldName - delno ime /T polja obrazca PDF (mora biti znotraj nadrejenega polja edinstveno). Presledki in nebajtni znaki so dovoljeni; ne-ASCII sproži kodiranje UTF-16BE v izpisanem nizu /T

InitialValue - navadno besedilo, zapisano v /V in /DV. Bralniki, ki /RV ne razčlenjujejo, za prikaz uporabijo to vrednost

RichValue - PDF 1.7 Annex L tagged XHTML body (the most portable form starts with <?xml version="1.0"?> and an XHTML <body> root carrying the xfa:contentType="text/html" namespace attribute). Inline styling uses <span style="..."> with CSS properties (font-family, font-size, font-weight, font-style, color, etc.).

DefaultStyle - slogovni niz, podoben CSS, ki se uporabi za znake, ki jih uporabnik vnaša ob izpolnjevanju, kadar v /RV ni sloga po znaku. Primer: 'font: 12pt Helvetica; color: #000000'

Rectangle - /Rect gradnika v zaslonskih koordinatah HotPDF (izvor v zgornjem levem vogalu); pretvorba YProjection se izvede samodejno, ko se pravokotnik pretvori v uporabniški prostor PDF

MaxLen - optional; when greater than zero, emits a /MaxLen entry capping the user-entered character count. Defaults to 0 (no limit).

Flags - neobvezno; vse dodatne zastavice polja, ki jih je treba OR-ati v /Ff poleg samodejno dodanega bita RichText. Tipične dodatne zastavice: ffMultiline za večodstavčne rich-text vsebine, ffReadOnly za prikazno samo oblikovano besedilo. Zastavica ffRichText se vedno doda, zato je klicatelju ni treba vključiti

 

Code Example

// Rich-text Tx widget with bold + italic markup
var
  Rich, DS: AnsiString;
  R: TRect;
begin
  HPDF.BeginDoc;

  Rich :=
    '<?xml version="1.0"?>' +
    '<body xmlns="http://www.w3.org/1999/xhtml" ' +
    'xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" ' +
    'xfa:contentType="text/html">' +
    '<p style="font-family:Helvetica;font-size:12pt">' +
    '<span style="font-weight:bold">Bold</span> and ' +
    '<span style="font-style:italic">italic</span> text.' +
    '</p></body>';
  DS := 'font: 12pt Helvetica; color: #000000';
  R.Left := 60; R.Top := 60; R.Right := 280; R.Bottom := 100;

  HPDF.CurrentPage.AddRichTextField(
    'Biography', 'Plain biography text', Rich, DS, R);

  HPDF.EndDoc;
end;

 

Glejte tudi

AddTextField, AutoFormAppearances, Version, AcroForm Support