SetStructElemExpansionA
Структурированный PDF и доступность
Описание
Завершающая A обозначает точку входа DLL типа ANSI (char); интерфейс ActiveX/COM предоставляет только форму Unicode. Поведение идентично SetStructElemExpansion, а строковые аргументы интерпретируются с использованием текущей кодовой страницы SetAnsiMode
Задаёт запись /E (текст расшифровки) у структурного элемента, который сейчас строится на стеке тегов. Текст расшифровки — это полная форма аббревиатуры, содержащейся в элементе — например World Wide Web для элемента Span с содержимым WWW или International Organization for Standardization для Span с ISO.
Экранные дикторы и другие ассистивные технологии произносят текст раскрытия, а не пытаются озвучить сокращение по буквам — это критично для аббревиатур, которые не читаются как слова
Синтаксис
Delphi
Function DLSetStructElemExpansionA(InstanceID: Integer; Expansion: PAnsiChar): Integer;
DLL
int DLSetStructElemExpansionA(int InstanceID, const char * Expansion);
Параметры
| Expansion | Полный текст раскрытия сокращения или аббревиатуры в текущем элементе структуры; пустая строка сбрасывает ранее заданное значение |
|---|
Возвращаемое значение
Возвращает 1 при успехе, 0 если открытый структурный элемент отсутствует или документ не выбран.
Примечания
Вызывайте сразу после BeginTag, пока целевой элемент на вершине стека тегов, либо в любой момент до парного вызова EndTag
Запись /E определена в ISO 32000-1 §14.9.5. Записывается как текстовая строка PDF в словарь структурного элемента и отличается от других текстовых свойств:
- /E (Expansion) — Полная форма аббревиатуры. Служит для озвучивания сокращённого встроенного текста программами чтения с экрана.
- /Alt (see SetStructElemAltText) — A complete substitute description for elements that cannot be rendered visually (images, figures, formulas).
- /ActualText (see SetStructElemActualText) — An exact Unicode replacement for glyph sequences whose extracted text would otherwise be incorrect (ligatures, glyph variants).
PDF/UA-1 (ISO 14289-1 §7.2) требует, чтобы естественный язык каждого фрагмента текста определялся однозначно. Для аббревиатур, сокращённая форма которых не читается вслух как слово, /E — стандартный механизм передачи этой информации.
Применяйте /E к самому внутреннему элементу, охватывающему аббревиатуру — обычно это элемент Span. Расшифровка относится только к содержимому этого элемента и не наследуется дочерними элементами.
Пример
// Tag an abbreviation with its expansion
PDFlib.BeginTag('Span', '', '');
PDFlib.SetStructElemExpansion('World Wide Web');
PDFlib.WriteText('WWW');
PDFlib.EndTag;
// Tag a standards acronym
PDFlib.BeginTag('Span', '', '');
PDFlib.SetStructElemExpansion('International Organization for Standardization');
PDFlib.WriteText('ISO');
PDFlib.EndTag;См. также
BeginTag, SetStructElemAltText, SetStructElemActualText, SetStructElemLang, GetPDFUADiagnostics