SetStructElemActualText

Tagged PDF & tilgængelighed

Beskrivelse

Indstiller posten /ActualText på det strukturelement, der aktuelt opbygges på tagstakken. ActualText angiver den nøjagtige Unicode-tekst, som elementet repræsenterer, og tilsidesætter tekst, som læsesoftware udtrækker fra PDF-indholdsstreamen

Brug denne funktion, når de glyffer, der gengives i indholdsstreamen, ikke direkte svarer til de tilsigtede tegn i læserækkefølgen — f.eks. en ligaturglyf (ff, fi, fl), der skal læses som sekvensen med to tegn ff, fi eller fl. Uden ActualText kan tekstudtrækningsværktøjer og skærmlæsere give forkert output for sådanne glyffer

Syntaks

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

Parametre

ActualTextDen Unicode-tekststreng, der skal knyttes til det aktuelle strukturelement. Angiv en tom streng for at rydde en tidligere indstillet værdi.

Returværdi

Returnerer 1 ved succes, 0 hvis intet strukturelement er åbent, eller intet dokument er valgt

Bemærkninger

Kald denne funktion umiddelbart efter BeginTag eller BeginTagEx, mens målelementet ligger øverst på tagstakken

ActualText og AltText har forskellige formål. AltText (angivet via parameteren AltText i BeginTag) er en alternativ repræsentation af hele elementet, som er beregnet til hjælpeteknologi, når det visuelle indhold ikke kan renderes. ActualText supplerer tekstudtræk fra indholdsstrømme: Den erstatter elementets udtrukne tegnsekvens, men forhindrer ikke rendering. Skærmlæsere, der understøtter begge, bruger typisk ActualText til oplæsning, når den findes.

ISO 32000-1 §14.9.4 definerer ActualText som en PDF-tekststrengspost i strukturelementordbogen. PDF/UA-1 (ISO 14289-1 §7.1) kræver, at tekstindhold kan udtrækkes og er korrekt; ActualText er standardmekanismen til at opfylde dette krav for glyfsekvenser, hvis direkte udtrækning ville være tvetydig eller forkert

Eksempel

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

Se også

BeginTag, BeginTagEx, SetStructElemID, AddTagAttribute, GetPDFUADiagnostics