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