记得以前看到pdf资料,看到感兴趣的,想复制下来。可是因为pdf安全设置的原因,不能复制。特别是看一些技术性文档,看到一些代码,想自己跑,看一下结果。结果却不能复制。但是一行一行敲代码,又是费时费力。不久前看itext源码,发现居然可以用再次加密的方式,改变pdf的权限。![]()
源码版本:itext5.0.5
条件:有文件打开密码
关键点:PdfReader.unethicalreading
……
if (openPassword == null) {
reader = new PdfReader(fis);
} else {
reader = new PdfReader(fis, openPassword.getBytes());
}
PdfReader.unet

当遇到PDF因安全设置无法复制内容时,可以利用iText库中的源码技巧解除限制。通过设置`PdfReader.unethicalreading = true`,可以在已知文件打开密码的情况下,重新加密PDF并允许复制和打印。此方法涉及iText的权限判断,`unethicalreading`为true时,会认为具有完整权限。注意,这可能会改变PDF的加密状态,显示带锁图标。
最低0.47元/天 解锁文章
3016

被折叠的 条评论
为什么被折叠?



