SetStructElemActualText

Tagged PDF & Barrierefreiheit

Beschreibung

Legt den Eintrag /ActualText auf dem Strukturelement fest, das derzeit auf dem Tag-Stapel aufgebaut wird. ActualText gibt den genauen Unicode-Text an, den das Element darstellt, und überschreibt Text, den Lesesoftware aus dem PDF-Inhaltsstream extrahiert.

Verwenden Sie diese Funktion, wenn die im Inhaltsstream gerenderten Glyphen nicht direkt ihren beabsichtigten Zeichen in Lesereihenfolge zugeordnet sind — beispielsweise eine Ligaturglyphe (ff, fi, fl), die als Zwei-Zeichen-Folge ff, fi oder fl gelesen werden soll. Ohne ActualText können Textextraktionswerkzeuge und Bildschirmleseprogramme für solche Glyphen eine falsche Ausgabe erzeugen.

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

Parameter

ActualTextDie Unicode-Textzeichenfolge, die dem aktuellen Strukturelement zugeordnet werden soll. Übergeben Sie eine leere Zeichenfolge, um einen zuvor festgelegten Wert zu löschen

Rückgabewert

Gibt bei Erfolg 1 oder 0 zurück, wenn derzeit kein Strukturelement geöffnet oder kein Dokument ausgewählt ist

Anmerkungen

Diese Funktion unmittelbar nach BeginTag oder BeginTagEx aufrufen, solange sich das Zielelement oben im Tag-Stapel befindet.

ActualText und AltText erfüllen unterschiedliche Zwecke. AltText, festgelegt über den Parameter AltText von BeginTag, ist eine alternative Darstellung des gesamten Elements für assistive Technologien, wenn der visuelle Inhalt nicht gerendert werden kann. ActualText ergänzt die Textausgabe aus Inhaltsstreams: Es ersetzt die extrahierte Zeichenfolge des Elements, unterdrückt aber nicht das Rendern. Screenreader, die beides unterstützen, verwenden bei Vorhandensein typischerweise ActualText für die Sprachausgabe

ISO 32000-1 §14.9.4 definiert ActualText als PDF-Textzeichenfolgeneintrag im Strukturelementwörterbuch. PDF/UA-1 (ISO 14289-1 §7.1) verlangt, dass Textinhalt extrahierbar und korrekt ist; ActualText ist der Standardmechanismus, um diese Anforderung bei Glyphensequenzen zu erfüllen, deren direkte Extraktion mehrdeutig oder falsch wäre.

Beispiel

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

Siehe auch

BeginTag, BeginTagEx, SetStructElemID, AddTagAttribute, GetPDFUADiagnostics