求可自定义文件名并选保存位置的PDF保存JavaScript代码
Acrobat JavaScript实现PDF自定义命名另存为
你原来用createDataObject的思路不对,这个API是用来往PDF里嵌入数据对象的,不是用来导出当前文档的。要实现你要的功能,直接用Acrobat JS里的this.saveAs()方法就行,它会自动弹出保存对话框让用户选择位置,同时可以指定默认文件名。
下面是可用的代码:
// 获取字段SCHEDULE_NUMBER的值 var scheduleNum = this.getField("SCHEDULE_NUMBER").valueAsString; // 处理字段为空的情况,给个默认文件名 var saveFileName = scheduleNum ? scheduleNum + ".pdf" : "未命名文档.pdf"; // 调用saveAs方法,弹出保存对话框,默认文件名设为我们指定的名称 this.saveAs(saveFileName);
说明:
this.saveAs()是Acrobat专门用来保存当前文档的API,传入文件名参数后,会自动唤起系统的保存对话框,用户可以选择保存位置,文件名会自动填充为你指定的内容。- 加了字段为空的判断,避免字段没值时出现无效文件名。
- 注意:Acrobat的安全策略不允许脚本自动静默保存,必须通过用户触发的对话框完成,这个方法完全符合要求,也是最直接的实现方式。
内容的提问来源于stack exchange,提问作者Bob51
相关产品推荐
相关产品推荐

