SetStructElemActualText

Маркиран PDF & достъпност

Описание

Задава записа /ActualText върху структурния елемент, който в момента се изгражда в tag stack-а. ActualText предоставя точния Unicode текст, който елементът представя, като отменя всеки текст, извлечен от PDF content stream-а от софтуера за четене

Използвайте тази функция, когато глифовете, изобразени в content stream-а, не съответстват пряко на предназначените символи в реда на четене — например лигатурен глиф (ff, fi, fl), който трябва да се чете като двузнаковата последователност ff, fi или fl. Без ActualText инструментите за извличане на текст и screen reader-ите могат да произведат неправилен изход за такива глифове

Синтаксис

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

Параметри

ActualTextUnicode текстовият низ, който да се асоциира с текущия структурен елемент. Подайте празен низ, за да изчистите предварително зададена стойност

Върната стойност

Връща 1 при успех, 0 ако няма отворен структурен елемент или не е избран документ

Забележки

Извикайте тази функция непосредствено след BeginTag или BeginTagEx, докато целевият елемент е в горната част на tag stack-а

ActualText и AltText служат за различни цели. AltText (зададен чрез параметъра AltText на BeginTag) е алтернативно представяне на целия елемент, предназначено за помощни технологии, когато визуалното съдържание не може да бъде изобразено. ActualText допълва извличането на текст от content stream-а: той заменя извлечената последователност от знаци на елемента, но не потиска визуализацията. Screen reader-ите, които поддържат и двете, обикновено използват ActualText за изговорен изход, когато е наличен

ISO 32000-1 §14.9.4 определя ActualText като запис на PDF текстов низ в речника на структурния елемент. PDF/UA-1 (ISO 14289-1 §7.1) изисква текстовото съдържание да може да се извлича и да е коректно; ActualText е стандартният механизъм за изпълнение на това изискване при последователности от глифове, чието директно извличане би било двусмислено или неправилно

Пример

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

Вижте също

BeginTag, BeginTagEx, SetStructElemID, AddTagAttribute, GetPDFUADiagnostics