SetStructElemActualTextA
Tagged PDF & Barrierefreiheit
Beschreibung
Das angehängte A bezeichnet den ANSI-DLL-Einstiegspunkt (char); die ActiveX/COM-Oberfläche stellt nur die Unicode-Form bereit. Das Verhalten ist mit SetStructElemActualText identisch, und Zeichenfolgenargumente werden anhand der aktuellen SetAnsiMode-Codeseite interpretiert
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 DLSetStructElemActualTextA(InstanceID: Integer; ActualText: PAnsiChar): Integer;
DLL
int DLSetStructElemActualTextA(int InstanceID, const char * ActualText);
Parameter
| ActualText | Die 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