PDF JavaScript删除页面

PDF JavaScript删除页面,javascript,pdf,adobe,Javascript,Pdf,Adobe,我正在做一个愚蠢的黑客,让我组织中的用户在加载到浏览器窗口时更难“保存”某些PDF。我能想到的最好的方法(除了使用证书加密,现在还没有选择)是创建一个“Will Save”(将保存)事件,并在保存文档之前删除文档中的所有页面 基于这一点,这应该是相当容易的 //------------------------------------------------------------- //-----------------Do not edit the XML tags--------------

我正在做一个愚蠢的黑客,让我组织中的用户在加载到浏览器窗口时更难“保存”某些PDF。我能想到的最好的方法(除了使用证书加密,现在还没有选择)是创建一个“Will Save”(将保存)事件,并在保存文档之前删除文档中的所有页面

基于这一点,这应该是相当容易的

//-------------------------------------------------------------
//-----------------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>
旁注,我找到了另一种“解决”这个问题的方法,那就是在Will Save事件中调用
this.closeDoc()
。这会导致浏览器和adobe崩溃(它可以工作!但代价是什么?)

这类似于“阻止”用户右键单击图像并保存它们的“技术”

也许你想退一步,看看为什么你不想让用户用PDF做一些事情。您是否试图将技术性答案应用于非技术性问题

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


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

您可以改为将PDF渲染为PNG吗?然后你可以有效地给它们添加水印,而喜鹊只会得到一个固定分辨率的拷贝。这是我考虑过的一个选择。我宁愿避免这种情况,因为这是一个麻烦,并没有提供更多的安全性。再加上防止用户右键点击BryanH在下面提到的页面的“技术”,这可能是可以接受的。没错,尽管至少它是有水印的。另一个想法,当然不解决用户窃取您的PDF的问题:我建议您考虑加密和锁定PDF以防止剪贴板复制,这样用户至少不能(很容易)从文档中复制内容。当PDF被上传到系统中时,iTextSharp应用了您提到的所有安全限制。主要问题是,用户会装傻,保存PDF并通过电子邮件发送给某人。显然,我们应该有一个用于加密文档的内部证书。如果做不到这一点,我认为我们应该对文档进行密码保护。问题是输入密码对最终用户来说太麻烦了,设置证书方案需要时间和金钱。现在需要做一些愚蠢和刻薄的事情,这至少会阻止最愚蠢的人。最后一个建议(不知道你关于Acrobat X的观点是否会让这变得多余)-使用来自的对象标记嵌入它。相当多的菜单/工具栏可以关闭。是的,正如我所说的,我完全知道这是多么愚蠢。然而,以前的“解决方案”是在Acrobat插件中隐藏工具栏,由于HUD,它在Acrobat X中不再工作。我已经告诉我的客户,有数百万种方法可以绕过这些系统,但这是一个针对非技术熟练用户的内部应用程序。这主要是一种威慑。不管是谁离开了-1,请告诉我为什么,这样我就可以学习了。非常感谢。
TypeError: Invalid argument type.
Doc.deletePages:1:Document-Actions:Document Will Save
 ===> Parameter nEnd.