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