TPdfSpokenText из непрерывного диапазона TPdfWordBoxfunction BuildSpokenTextFromWords(const Words: TPdfWordBoxes; FirstWord, LastWord: Integer): TPdfSpokenText;
| Words | TPdfWordBoxes — Ящики слов со страницы или средства просмотра |
| FirstWord | Integer — Первый индекс слова, отсчитываемый от нуля, ограниченный значением 0 |
| LastWord | Integer — Последний индекс слова, отсчитываемый от нуля, ограниченный значением High(Words) |
TPdfSpokenText, чей Text готов для речевого движка, а Spans сопоставляют каждое слово с текстом страницыПомощник проходит выбранный диапазон TPdfWordBox и добавляет каждое слово через SpokenTextAppend
Результирующая таблица интервалов сохраняет номер страницы каждого слова, исходный индекс символа и количество исходных символов, так что смещение речевого движка можно перевести обратно к странице PDF
SpokenToPageChar или TPdfReadingSession.FeedSpokenPosition для управления выделением на уровне слов по речевому смещениюWords := Pdf1.PageWordBoxes;
Spoken := BuildSpokenTextFromWords(Words, 0, High(Words));