我正在研究一个愚蠢的 hack,让我的组织中的用户在浏览器窗口中加载某些 pdf 文件时更难“保存”它们。我能想到的最好的方法(除了使用证书加密,现在不是一个选项)是创建一个“将保存”事件并在保存之前删除文档中的所有页面。
基于PDF Javascript API,这应该很容易。
//-------------------------------------------------------------
//-----------------Do not edit the XML tags--------------------
//-------------------------------------------------------------
//<Document-Actions>
//<ACRO_source>Document Will Save</ACRO_source>
//<ACRO_script>
/*********** belongs to: Document-Actions:Document Will Save ***********/
this.deletePages(0, this.numPages - 1);
//</ACRO_script>
//</Document-Actions>
但是,当我点击保存时,我收到以下错误。即使我只是这样做this.deletePages(0, 0)
或任何其他数字组合也会发生这种情况。有谁知道我可能会犯什么愚蠢的错误?
TypeError: Invalid argument type.
Doc.deletePages:1:Document-Actions:Document Will Save
===> Parameter nEnd.
旁注,我找到了另一种“解决”这个问题的方法,即调用this.closeDoc()
Will Save 事件。这会导致浏览器和 adobe 崩溃(它可以工作!但代价是什么?)。