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