检查PDF对话框是否已打开

时间:2018-05-26 16:13:13

标签: javascript pdf dialog acrobat adobe-reader

我试图制作一对打开PDF时显示的对话框;一个对话框将显示PDF是否在支持Adobe Reader级别JavaScript功能的阅读器中打开,另一个对话框将显示是否未显示上一个对话框(即,如果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 :(得分:0)

您可以通过测试app.execDialog是否为函数来检查PDF查看器是否支持Dialog对象。像这样......

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

这种代码适用于任何函数或对象方法。