PDF JavaScript deletePages

PDF JavaScript deletePages

本文关键字:deletePages JavaScript PDF      更新时间:2023-09-26

我正在研究一个愚蠢的黑客,使组织中的用户在浏览器窗口中加载某些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.

旁注,我找到了另一种"解决"此问题的方法,即在 Will Save 事件中调用this.closeDoc()。 这会导致浏览器和 Adobe 崩溃(它有效! 但代价是什么?

类似于"防止"用户右键单击图像并保存它们的"技术"。

也许您想退后一步,检查一下为什么不希望用户对PDF执行操作。您是否正在尝试将技术答案应用于非技术问题?

您正在尝试阻止Web浏览器的正常行为,因此您将花费大量时间尝试正确处理此问题,并且无法保证您的方法不会与下一个浏览器版本一起中断。精通技术的用户会在短时间内绕过您提出的任何技术。

基本上,您是在说,"我想阻止用户对他们已经下载到计算机的文件执行某些操作(打开/查看/打印)。