如何将javascript按钮添加到PDF中,将数据保存到(png)文件
How to add a javascript button to PDF that saves data to a (png) file?
我用python+matplotlib创建PDF图形,我可以添加一个javascript警告框,在打开PDF时显示图中的数据。
我想改变这种行为,在PDF中有一个按钮。您可能在某些形式中见过"打印"按钮。按下此按钮将向用户询问文件名并将硬编码字符串保存到该文件。还有一个按钮可以将PDF保存为PNG(也可以硬编码)。
我的问题是特权。PDF-javascript-api表示禁止静默文件访问,但如果用户发起保存,则允许(例如使用标准保存对话框)。
然而,我不能得到保存对话框方法的工作。没有参数的Adobe的doc.saveAs()
不会打开保存对话框,但会抱怨权限不足。
我希望解决方案尽可能便携。所有内容都应该嵌入到PDF(一个文件)中。
编辑:我发现了一个类似但完全不同的方法:你可以把附件放入pdf,就像按钮一样,可以保存到磁盘:
https://tex.stackexchange.com/questions/117792/listings-copy-to-clipboard-feature这是我的当前代码:
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") ;
}
然后打开"保存文件"对话框
相关文章:
- 如何使用 Angular JS 将数据保存在数据库中
- 将数据保存到数据库(ajax/php)后,使文本字段变灰/禁用
- 当使用ajax并将html数据保存为对象时,收听浏览器返回按钮.好的或坏的
- 我应该如何将响应数据保存在对象(json)中以获得更好的操作和性能
- 将 JSON 数据保存到服务器上
- 可以'编辑后不会将数据保存在数据库中,但网格显示更改
- Javascript-将谷歌趋势url中的数据保存到PHP数组中
- 如何使用JavaScript将用户生成的数据保存到Firebase中的用户
- 将表数据保存在本地存储中
- 我应该把维基百科的数据保存到我的数据库中吗
- 使用PHP将表格数据保存为CSV格式
- 如何在网站上实现一个按钮,允许用户将生成的数组数据保存为ASCII文件
- imacros JavaScript 将数据保存到文件中,在 Firefox 中给出错误
- 如何将数据保存到本地谷歌表格
- 将表数据保存到 HTML5 LocalStorage
- 如何将 JSON 数据保存到文件
- 将二进制数据保存在浏览器中,而不会在下载时进行 UTF8 编码
- 将输入数据保存到全局变量
- 将数据保存到Syncano Angular应用程序
- 使用角度将结构化数据保存在火库中