Сложная проблема. Несколько лет назад я бы сказал, что единственный способ сделать это — использовать надстройку для Acrobat, поскольку это был действительно единственный API, который мог с этим справиться.
Сегодня я думаю, что вы хотите сделать это, создав выделенные аннотации для каждого предложения. Затем создайте виджет-аннотацию, который имеет ряд действий javascript, которые изменяют непрозрачность предложений, а затем запускают воспроизведение звука.
Что-то вроде этого в псевдокоде
foreach sentenceAnnot,sentenceSoundAnnot do
set sentenceAnnot.opacity to 1
play sentenceSoundAnnot
set sentenceAnnot.opacity to 0
Теперь это будет вонять как процесс — написание любых сценариев для действий с аннотациями воняет, поскольку редактор и отладчик — это жестокие шутки. Начните с получения копии ссылки на acrobat javascript API. Ты умрешь без него.
Затем вам нужно выяснить, как создать действие, которое вы хотите. Вот скрипт, который я применил к ссылке, чтобы изменить непрозрачность всех бликов на странице 0 на половину:
var annots = this.getAnnots({nPage:0});
for (var i =0; i < annots.length; i++) {
if (annots[i].type = "Highlight")
annots[i].opacity = 0.5;
}
Это можно легко изменить, чтобы найти конкретную аннотацию на странице. Предполагается, что вы сможете найти их по имени с помощью метода getAnnot, но я не видел ничего, что указывало бы на то, как установить свойство name для аннотации в пользовательском интерфейсе Acrobat, так что удачи в создании этого. Вам, вероятно, придется получить, установив тему выделения на что-то идентифицируемое, что вы затем сможете получить. Вы также поместите звуки на страницу, а затем воспроизведете их.
person
plinth
schedule
09.07.2010