如何将javascript按钮添加到PDF中,以将数据保存到(png)文件中?

如何将javascript按钮添加到PDF中,以将数据保存到(png)文件中?,javascript,pdf,save,access-control,Javascript,Pdf,Save,Access Control,我使用python+matplotlib创建PDF图形,并且可以添加一个javascript警报框,在打开PDF时显示图形中的数据 我想以PDF中有一个按钮的方式更改行为。您可能在某些表单中看到“打印”按钮。按下此按钮将询问用户文件名并将硬编码字符串保存到该文件中。另外,另一个按钮可以将PDF保存为PNG(也可以硬编码) 我的问题是特权。PDF javascript api表示禁止静默文件访问,但如果用户启动保存,则允许进行保存(例如,使用标准保存对话框) 但是,我无法使“保存对话框”方法正常工

我使用python+matplotlib创建PDF图形,并且可以添加一个javascript警报框,在打开PDF时显示图形中的数据

我想以PDF中有一个按钮的方式更改行为。您可能在某些表单中看到“打印”按钮。按下此按钮将询问用户文件名并将硬编码字符串保存到该文件中。另外,另一个按钮可以将PDF保存为PNG(也可以硬编码)

我的问题是特权。PDF javascript api表示禁止静默文件访问,但如果用户启动保存,则允许进行保存(例如,使用标准保存对话框)

但是,我无法使“保存对话框”方法正常工作。没有参数的Adobe的
doc.saveAs()
不会打开“保存”对话框,但会抱怨权限不足

我希望解决方案尽可能便于携带。所有内容都应嵌入PDF(一个文件)

编辑:

刚刚发现了一种类似但完全不同的方法:您可以将附件放入类似按钮的PDF中,并可以保存到磁盘:

这是我拥有的当前代码:

var nRslt = app.alert({cMsg: "save data?", nType: 3});
app.alert({cMsg: nRslt});
if (nRslt==4){
this.saveAs();
}
该按钮为表单,如果结果为“OK”(nType=4),则应打开“保存”对话框。这就产生了

NotAllowedError: Security settings prevent access to this property or method.
Doc.saveAs:4:Doc undefined:Open

目标是将按钮从警报框移动到文档,并修改保存的内容。但现在的安全设置让我很难受

代码提供了引发错误的原因

doc.saveAs()
方法需要有效的路径作为参数。而且,为了从按钮开始工作,它需要更高的权限,这意味着您必须创建应用程序级脚本,该脚本必须安装在应该使用文档的任何位置

但还有另一种方法是有效的:

if (app.alert({cMsg: "save data?", nType: 3}) == 4){
app.execMenuItem("SaveAs") ;
}

然后,将打开“保存文件”对话框。

Acrobat JavaScript方法名为saveAs()(注意大写字母A)@MaxWyss谢谢,我纠正了错误。OK;所以,这是问题中的一个输入错误,而不是在实际的脚本中…@MaxWyss是的,编译器抱怨的是特权,而不是未知函数。所以我猜它找到了功能,但就是不能使用它。你能给我看一下按钮的代码吗?