SetStructElemActualTextA

taggad PDF & tillgänglighet

Beskrivning

Det avslutande A:et betecknar ANSI (char)-DLL-ingångspunkten; ActiveX/COM-ytan exponerar bara Unicode-formen. Beteendet är identiskt med SetStructElemActualText och strängargument tolkas med aktuell SetAnsiMode-kod sida

Sätter /ActualText-posten på det strukturelement som för tillfället byggs på taggstacken. ActualText anger exakt den Unicode-text som elementet representerar och åsidosätter all text som läsarprogram extraherar från PDF:ens innehållsström

Använd den här funktionen när glyferna som renderas i innehållsströmmen inte direkt mappar till sina avsedda läsordningstecken — till exempel en ligaturglyf (ff, fi, fl) som borde läsas som tvåteckensekvensen ff, fi eller fl. Utan ActualText kan textextraktionsverktyg och skärmläsare ge felaktig utdata för sådana glyfer

Syntax

Delphi

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

DLL

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

Parametrar

ActualTextUnicode-textsträngen som ska knytas till det aktuella strukturelementet. Ange en tom sträng för att rensa ett tidigare satt värde

Returvärde

Returnerar 1 vid lyckat anrop, 0 om inget strukturelement för tillfället är öppet eller inget dokument är valt

Anmärkningar

Anropa den här funktionen omedelbart efter BeginTag eller BeginTagEx medan målelementet ligger överst på taggstacken

ActualText och AltText fyller olika syften. AltText (satt via AltText-parametern i BeginTag) är en alternativ representation av hela elementet, avsedd för hjälpmedelsteknik när det visuella innehållet inte kan renderas. ActualText kompletterar extraktion av text ur innehållsströmmen: den ersätter elementets extraherade teckensekvens men undertrycker inte rendering. Skärmläsare som stödjer båda använder typiskt ActualText för uppläst utdata när den finns

ISO 32000-1 §14.9.4 definierar ActualText som en PDF-textsträngspost i strukturelementets ordlista. PDF/UA-1 (ISO 14289-1 §7.1) kräver att textinnehåll kan extraheras och är korrekt; ActualText är standardmekanismen för att uppfylla kravet för glyfsekvenser vars direkta extraktion skulle vara tvetydig eller felaktig.

Exempel

// 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 även

BeginTag, BeginTagEx, SetStructElemID, AddTagAttribute, GetPDFUADiagnostics