SetStructElemActualText
Tagged PDF & Accessibility
Description
Устанавливает запись /ActualText для структурного элемента, создаваемого в данный момент в стеке тегов; ActualText предоставляет точный текст Unicode, который представляет элемент, переопределяя любой текст, извлеченный программным обеспечением для чтения из потока содержимого PDF
Используйте эту функцию, когда глифы, отрисованные в потоке содержимого, не сопоставляются напрямую с соответствующими символами порядка чтения — например, глиф лигатуры (ff, fi, fl), который должен читать как двухсимвольная последовательность ff, fi или fl; без ActualText инструменты извлечения текста и программы чтения с экрана могут выдать неверный результат для таких глифов
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 для связи с текущим структурным элементом; передайте пустую строку, чтобы очистить ранее установленное значение |
|---|
Return value
Returns 1 on success, 0 if no structure element is currently open or no document is selected.
Remarks
Вызывайте эту функцию сразу после вызова BeginTag или BeginTagEx, пока целевой элемент находится на вершине стека тегов
ActualText и AltText служат разным целям; AltText (устанавливается через параметр AltText метода BeginTag) является альтернативным представлением всего элемента, предназначенным для вспомогательных технологий, когда визуальный контент не может быть отображен; ActualText дополняет извлечение текста из потока содержимого: он заменяет извлеченную последовательность символов элемента, но не подавляет рендеринг; программы чтения с экрана, поддерживающие оба параметра, обычно будут использовать ActualText для речевого вывода при его наличии
ISO 32000-1 §14.9.4 определяет ActualText как запись текстовой строки PDF в словаре структурного элемента; PDF/UA-1 (ISO 14289-1 §7.1) требует, чтобы текстовое содержимое было извлекаемым и правильным; ActualText является стандартным механизмом для удовлетворения этого требования для последовательностей глифов, непосредственное извлечение которых было бы двусмысленным или неверным
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