Проверьте, открыто ли диалоговое окно JavaScript в PDF - PullRequest
0 голосов
/ 26 мая 2018

Я пытаюсь создать пару диалоговых окон, которые отображаются при открытии PDF;одно диалоговое окно покажет, открыт ли PDF-файл в программе чтения, поддерживающей уровень JavaScript в Adobe Reader, а другое - если предыдущее диалоговое окно не отображается (т. е. если PDF-файл открывается в программе чтения с небольшой поддержкой JavaScript, чтоозначает, что первый диалог не может быть отображен).

Проблема, с которой я сейчас сталкиваюсь, заключается в попытке отобразить второй диалог.Я попытался использовать try-catch, но я предполагаю, что это не сработало, потому что первое диалоговое окно на самом деле не показывало ... или что-то в этом роде.

Так как же мне показать показвторое диалоговое окно, если первое не отображается из-за отсутствия поддержки?

Вот мой текущий код (который записывается как действие «открыть страницу» в свойствах страницы):

try {
     var d = dialog();

     d.execDialog();
} catch (e) {
     app.alert("ERROR: Incompatible reader; please install Adobe Reader to open this file.");
}

function dialog()
{
     var dialogDescriptor =
    {
        // Dialog description goes here
    };

     var dialogObject =
    {
        execDialog: function() { return app.execDialog(dialogDescriptor); },
    };

 return dialogObject;

}

Причина, по которой я использую app.execDialog, заключается в том, что в первом диалоговом окне будут гиперссылки.

Кроме того, я совершенно новичок в использовании JavaScript и работе с PDF-файлами, поэтому я прошу прощения, если этотупой вопрос.

1 Ответ

0 голосов
/ 29 мая 2018

Вы можете проверить, поддерживает ли программа просмотра PDF объект Dialog, проверив, является ли app.execDialog функцией.Примерно так ...

if (typeof app.execDialog === "function") {
    // Can show Acrobat dialogs    
}
else {
    // Can't show Acrobat Dialogs
}  

Такой код работает для любого метода функции или объекта.

...