0

我有一个用例,从 IIS / MVC 下载 PDF 表单,由最终用户填写并提交回服务器。成功提交 FDF 响应后会触发文档保护以禁止更改文档。保护由文件夹级 javascript 函数激活:

function applySecurity()
{
var DoApplyMySecurity = app.trustedFunction( function(){
var oMyPolicy = null;
app.beginPriv();
// First, Get the ID of My Security Policy
var aPols = security.getSecurityPolicies()
for(var index=0;index<aPols.length;index++){
    if(aPols[index].name == "AgreementPolicy"){
        oMyPolicy = aPols[index]; break;
    }
}
if(oMyPolicy == null){ app.alert("Policy Not Found"); return; }
   // Now, Apply the security Policy
   var rtn = this.encryptUsingPolicy({oPolicy: oMyPolicy });
if(rtn.errorCode != 0) app.alert("Security Error: " + rtn.errorText); 
   app.endPriv();
});
DoApplyMySecurity();
}

文档级函数调用上述函数如下:

function valuesSaved(msg)
{
   app.alert(msg);
   applySecurity();
   app.execMenuItem("Save");
   app.execMenuItem("Close");
}

问题是使用 Acrobat Reader DC 提交表单时出现以下错误:

NotAllowedError:安全设置阻止访问此属性或方法。Security.getSecurityPolicies:7:Doc undefined:Exec

使用 Acrobat Pro DC 时,安全性已成功应用。我已将安全设置从 Pro DC 导出到 Reader DC。我在这里缺少什么?

4

1 回答 1

0

我认为这是意图 - 默认情况下,阅读器版本无法保存更改的 PDF

于 2016-03-21T07:28:52.633 回答