我遇到一个我无法解释的问题。
我制作了一个PDF文件,然后决定使用旧的RC4格式对其进行加密。 完成后,我会得到一个“加密”文件。
读取该文件的内容表明该文件已加密,并且权限正确,即:
3 0 obj
<<
/Filter /Standard
/V 2
/Length 128
/R 3
/P -3904
/O <F0299DA33B3988E77ECC4A968F58C8DE50BA19D282C3E9C17E95395E8DCAC43E>
/U <A385DE2CD85CA37B5B365C99EEB05FF228BF4E5E4E758A4164004E56FFFA0108>
>>
endobj
(-3904表示完全没有权限,see this for reference)。
但是奇怪的是,如果我在各种PDF阅读器上打开它,然后通过用户密码(而非所有者密码)访问文档,我可以做我想做的:打印,复印,大部分修改,基于文档中的当前权限应予以禁止。
对于默认的Linux PDF查看器和Firefox阅读器(根据我的测试),这是正确的说法,但Chrome浏览器遵守权限。
由于Chrome浏览器尊重权限,这意味着它们是正确的(或者是?),但是为什么其他读者却不尊重权限?
如何复制它?
打开文档,输入用户密码(而非所有者密码),然后打印文档... tada,可以! 您不应该。
更新:对于任何加密方案(RC4,AES),都会发生相同的情况。以用户身份打开文档后,即使权限另有说明,您也可以进行复制和打印。
为什么有可能?
答案 0 :(得分:1)
并非所有PDF软件都是一样创建的,这似乎是FireFox中的错误,而不是Chrome中关于通过限制用户访问来尊重文档创建者意图的Chrome中的错误。
我用自己的PDF查看了您的说明,当我在Acrobat DC中打开生成的加密文档时,它正确地不允许打印或导出图像。我还可以确认查看文档属性是否正确设置了权限。这告诉我,加密的PDF的创建方式没有任何问题,但这是该PDF查看器如何尊重其权限的问题。
答案 1 :(得分:1)