SetStructElemActualTextA

Getagde PDF en toegankelijkheid

Beschrijving

Het achtervoegsel A duidt het ANSI-toegangspunt (char) van de DLL aan; het ActiveX/COM-oppervlak stelt alleen de Unicode-vorm beschikbaar. Het gedrag is identiek aan SetStructElemActualText en tekenreeksargumenten worden geïnterpreteerd met behulp van de huidige SetAnsiMode-codetabel

Zet de /ActualText-entry op het structuurelement dat momenteel op de tagstack wordt opgebouwd. ActualText levert de exacte Unicode-tekst die het element vertegenwoordigt en overstijgt daarmee alle tekst die reader-software uit de PDF-contentstream heeft geëxtraheerd

Gebruik deze functie wanneer de glyphs die in de contentstream worden gerenderd niet direct mappen op de beoogde leesvolgorde-tekens — bijvoorbeeld een ligatuur-glyph (ff, fi, fl) die als de tweekensigequentie ff, fi of fl gelezen moet worden. Zonder ActualText kunnen tekstextractietools en screenreaders voor zulke glyphs verkeerde uitvoer geven

Syntaxis

Delphi

Function DLSetStructElemActualTextA(InstanceID: Integer; ActualText: PAnsiChar): Integer;

DLL

int DLSetStructElemActualTextA(int InstanceID, const char * ActualText);

Parameters

ActualTextDe Unicode-tekststring die aan het huidige structuurelement wordt gekoppeld. Geef een lege string door om een eerder ingestelde waarde te wissen

Retourwaarde

Geeft bij succes 1 terug, of 0 als er momenteel geen structure-element open is of geen document is geselecteerd

Opmerkingen

Roep deze functie onmiddellijk aan na BeginTag of BeginTagEx terwijl het doelelement bovenaan de tagstack staat

ActualText en AltText dienen verschillende doelen. AltText (gezet via de parameter AltText van BeginTag) is een alternatieve representatie van het hele element, bedoeld voor hulptechnologie wanneer de visuele inhoud niet kan worden gerenderd. ActualText vult tekstextractie uit de contentstream aan: hij vervangt de geëxtraheerde tekenreeks van het element maar onderdrukt het renderen niet. Screenreaders die beide ondersteunen gebruiken ActualText doorgaans voor voorleesuitvoer wanneer die aanwezig is

ISO 32000-1 §14.9.4 definieert ActualText als een PDF-tekststring-entry op de structuurelementwoordenboek. PDF/UA-1 (ISO 14289-1 §7.1) eist dat tekstinhoud extraheerbaar en correct is; ActualText is de standaardmechanisme om daaraan te voldoen voor glyphreeksen waarvan directe extractie dubbelzinnig of fout zou zijn

Voorbeeld

// Tag a ligature glyph so that text extraction yields "fi"
PDFlib.BeginTag('Span', '', '');
PDFlib.SetStructElemActualText('fi');
PDFlib.TextOut(x, y, #$FB01);   // U+FB01 LATIN SMALL LIGATURE FI
PDFlib.EndTag;

Zie ook

BeginTag, BeginTagEx, SetStructElemID, AddTagAttribute, GetPDFUADiagnostics