THotPDF.RegisterAcroFormFont

THotPDF AcroForm /DR -monifonttirekisteröinti (v2.119.42)

AddXFAPacket AcroForm Support SetFormUnicodeFontDict

Rekisteröi ylimääräisen Unicode-fontin (Type 0 / CID-keyed) sisällytettäväksi AcroForm-oletusresurssisanastoon (/DR). Sallii yksittäisen PDF-dokumentin tarjota useita Unicode-fontteja AcroForm-elementeille samanaikaisesti – tyypillisesti käytössä monikielisissä lomakkeissa, jotka tarvitsevat (esimerkiksi) latinalaisen fontin, CJK-fontin ja arabialaisen fontin samassa lomakkeessa

Delphi syntax:

procedure RegisterAcroFormFont(const FontResourceName: AnsiString;

FontIndirectRef: THPDFObject);

Kuvaus

AcroForm-elementit viittaavat fontteihin AcroForm-sanakirjan oletusresurssisanaston (/DR, Default Resources) kautta, joka toimii jaettuna resurssialtaana kaikille lomakekenttien ulkoasuvirroille. Ennen versiota v2.119.42 AcroForm-sanakirjan /DR toi esille täsmälleen yhden Unicode-fontin (tyypillisesti apuohjelman asettaman Type 0 -fontin, joka oli rekisteröity metodin SetFormUnicodeFontDict kautta), mikä rajoitti monikielisten lomakkeiden työnkulkuja, koska jokaisen elementin piti piirtyä saman fonttiohjelman kautta

Version v2.119.42 jälkeen kutsujat voivat rekisteröidä ylimääräisiä Unicode-fontteja vapaavalintaisilla resurssinimillä. Jokaisesta rekisteröidystä fontista tulee /DR /Font / -merkintä AcroFormin /DR-sanakirjaan vaiheessa EndDoc. Elementin ulkoasuvirrat voivat sitten viitata mihin tahansa rekisteröityyn nimeen oman /Tf -operaattorinsa kautta ulkoasun sisältövirrassa

Parameters

FontResourceName – PDF-nimi, johon ulkoasuvirran /Tf-operaattori viittaa. Käytäntö: lyhyt ja vakaa tunniste ilman alkukauttaviivaa (esim. 'NotoSansArab', 'NotoSansCJK'). HotPDF kirjoittaa alkukauttaviivan sarjallistamisen yhteydessä

FontIndirectRef – olemassa oleva epäsuora Type 0 (CID-keyed) -fonttisanasto, tyypillisesti tulos metodista CreateIndirectFontDict fontille, joka on rekisteröity metodin RegisterUnicodeTTF kautta

Typical workflow (multilingual form)

PDF.RegisterUnicodeTTF('NotoSansArab', 'NotoSansArabic-Regular.ttf');

PDF.RegisterUnicodeTTF('NotoSansJP' , 'NotoSansJP-Regular.otf');

ArabRef := PDF.CreateIndirectFontDict('NotoSansArab');

JPRef := PDF.CreateIndirectFontDict('NotoSansJP');

PDF.RegisterAcroFormFont('NotoSansArab', ArabRef);

PDF.RegisterAcroFormFont('NotoSansJP' , JPRef);

Nyt arabiankielistä sisältöä käyttävät elementit voivat luoda ulkoasuvirtansa määrityksellä /NotoSansArab 12 Tf, kun taas japaninkielistä sisältöä käyttävät elementit käyttävät määritystä /NotoSansJP 12 Tf jakaen yhden dokumentin laajuisen AcroFormin /DR-resurssialtaan

Rinnakkaiselo metodin SetFormUnicodeFontDict kanssa

Aiempi yhden fontin apumetodi (SetFormUnicodeFontDict) toimii edelleen projekteissa, jotka tarvitsevat vain yhden Unicode-fontin AcroForm-määrityksessä /DR. Metodi RegisterAcroFormFont on lisäyksellinen: kutsujat voivat käyttää sitä SetFormUnicodeFontDict-metodin lisäksi tai korvata SetFormUnicodeFontDict-metodin kokonaan, kun tarvitaan useampaa kuin yhden Unicode-fonttia

Katso myös: THotPDF.SetFormUnicodeFontDict, THotPDF.CreateIndirectFontDict, AcroForm Support, THPDFPage.AddTextField