SetStructElemActualText
Tagged PDF & Accessibility
Description
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 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 | Unicode-textsträngen som ska knytas till det aktuella strukturelementet. Ange en tom sträng för att rensa ett tidigare satt värde |
|---|
Return value
Returnerar 1 vid lyckat anrop, 0 om inget strukturelement för tillfället är öppet eller inget dokument är valt
Remarks
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 defines ActualText as a PDF text string entry on the structure element dictionary. PDF/UA-1 (ISO 14289-1 §7.1) requires that text content be extractable and correct; ActualText is the standard mechanism to satisfy this requirement for glyph sequences whose direct extraction would be ambiguous or incorrect.
Example
// 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;See also
BeginTag, BeginTagEx, SetStructElemID, AddTagAttribute, GetPDFUADiagnostics