检查 JavaScript 对话框是否在 PDF 中打开



我正在尝试制作一对在打开PDF时显示的对话框;一个对话框将显示PDF是否在支持Adobe Reader的JavaScript功能的阅读器中打开,另一个对话框将显示如果未显示上一个对话框(即,如果在几乎没有JavaScript支持的阅读器中打开PDF, 这意味着无法显示第一个对话框(。

我现在遇到的问题是试图显示第二个对话框。我尝试使用 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完全陌生,所以如果这是一个愚蠢的问题,我深表歉意。

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

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

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

最新更新