THPDFPage.AddRichTextField-metodi

THPDFPage.AddRichTextField

THPDFPage

Ylös

Lisää PDF 1.5+ AcroForm muotoillun tekstin widgetin (ISO 32000-1 12.7.4.3 + Liite L) nykyiselle sivulle. Widget sisältää tavallisen tavallisen tekstin varavaihtoehdon /V + /DV, jota käyttävät lukijat, jotka eivät jäsennä muotoiltua tekstiä, sekä uudet /RV muotoillun tekstin XHTML-rungon ja /DS oletustyylin merkinnät, joita Acrobat ja Foxit käyttävät suoraan muotoillun tekstin renderöimiseen. Bit 26 /Ff (RichText) lisätään automaattisesti TAI-operaatiolla

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

Kuvaus

Elementti luodaan Tx-lomakekenttänä, jossa on /FT /Tx, /DA (/Helv 12 Tf 0 0 0 rg), /Ff jossa RichText-bitti on asetettu, annettu InitialValue sekä arvona /V että oletusarvona /DV, RichValue muodossa /RV ja DefaultStyle muodossa /DS. InitialValue, RichValue ja DefaultStyle tunnistavat automaattisesti monitavuisen sisällön ja vaihtavat tarvittaessa UTF-16BE-heksamerkkijonokoodaukseen (vastaa olemassa olevaa metodin AddTextField toimintaa kansainvälisissä pelkkää tekstiä sisältävissä kentissä)

Rikastetun tekstin (rich text) piirtäminen tapahtuu katseluohjelmassa: Acrobat / Foxit / Edge / Chrome PDF -katseluohjelmat jäsentävät kohteen /RV, kun RichText-bitti on päällä, ja hakevat Unicode-fonttien korvaavat fontit järjestelmästä, joten CJK-, kyrillinen, arabialainen ja painotettu latinalainen sisältö näkyy oikein ilman, että HotPDF upottaa CID-fonttia /DR-resursseihin. HotPDF:n omaa AutoFormAppearances-polkua varten monitavuisen tekstin tyhjä AP-haaran paikkamerkki pysyy paikallaan (version v2.56.0+ tehtävä); rikastetun tekstin tunnistavat katseluohjelmat ohittavat kyseisen AP:n ja piirtävät sisällön suoraan kohteesta /RV

FieldName – PDF-lomakekentän osittainen nimi /T (oltava yksilöllinen vanhempansa sisällä). Välilyönnit ja ei-ASCII-tavut hyväksytään; ei-ASCII käynnistää UTF-16BE-koodauksen tuotetulle /T-merkkijonolle

InitialValue – selkokielinen PDF-tekstimerkkijono, joka kirjoitetaan kohteisiin /V ja /DV. Lukulaitteet, jotka eivät jäsennä kohdetta /RV, palaavat tähän arvoon näytössä

RichValue - PDF 1.7 Liitteen L mukainen merkitty XHTML-runko (siirrettävin muoto alkaa merkkijonolla ja XHTML-rungon -juurella, joka kantaa nimiavaruusattribuuttia xfa:contentType="text/html"). Sisäinen tyylittely käyttää tagia ja CSS-ominaisuuksia (font-family, font-size, font-weight, font-style, color jne.)

DefaultStyle – CSS-tyylinen tyylimerkkijono, jota sovelletaan käyttäjän kirjoittamiin merkkeihin täyttövaiheessa, kun kunkin merkin omaa tyyliä ei ole määritetty kohteessa /RV. Esimerkki: 'font: 12pt Helvetica; color: #000000'

Rectangle - säätimen /Rect HotPDF-näyttökoordinaateissa (alkupiste vasemmassa yläkulmassa); YProjection tapahtuu automaattisesti, kun suorakulmio muunnetaan PDF-käyttäjäavaruuteen

MaxLen – valinnainen; kun arvo on suurempi kuin nolla, se tuottaa /MaxLen-merkinnän, joka rajoittaa käyttäjän syöttämien merkkien määrää. Oletusarvo on 0 (ei rajoitusta)

Flags – valinnainen; ylimääräiset kenttäliput, jotka lisätään tai-operaatiolla (OR) kohteeseen /Ff automaattisesti lisätyn RichText-bitin lisäksi. Tyypillisiä lisälippuja: ffMultiline monikappaleisia rikastetun tekstin alueita varten, ffReadOnly vain näyttämiseen tarkoitettua muotoiltua tekstiä varten. Lippu ffRichText lisätään aina, joten kutsujan ei tarvitse sisällyttää sitä

Code Example

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

  Rich :=
    '' +
    '' +
    '

' + 'Bold and ' + 'italic text.' + '

'; 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;

See Also

AddTextField, AutoFormAppearances, Version, AcroForm Support