记得以前看到pdf资料,看到感兴趣的,想复制下来。可是因为pdf安全设置的原因,不能复制。特别是看一些技术性文档,看到一些代码,想自己跑,看一下结果。结果却不能复制。但是一行一行敲代码,又是费时费力。不久前看itext源码,发现居然可以用再次加密的方式,改变pdf的权限。
源码版本:itext5.0.5
条件:有文件打开密码
关键点:PdfReader.unethicalreading
……
if (openPassword == null) {
reader = new PdfReader(fis);
} else {
reader = new PdfReader(fis, openPassword.getBytes());
}
PdfReader.unethicalreading = true;//不为true不能成功。
PdfEncryptor.encrypt(reader, fos, true, userPassword, OwnerPassword, PdfWriter.ALLOW_COPY | PdfWriter.ALLOW_PRINTING);
……
是什么原因呢,看一下itext对打开权限判断:
/**
* Checks if the documen