SetStructElemActualText

Tagged PDF & Accessibility

Beschrijving

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 TPDFlib.SetStructElemActualText(Const ActualText: WideString): Integer;

ActiveX

Function PDFlib::SetStructElemActualText(ActualText As String) As Long

DLL

int DLSetStructElemActualText(int InstanceID, const wchar_t * 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

Returns 1 on success, 0 if no structure element is currently open or no document is selected.

Remarks

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