目前通过
try {
12 PdfReader.unethicalreading = true;
13 PdfReader reader = new PdfReader(new FileInputStream(".pdf"));//已加密的文件
14 PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(".pdf"));解密后pdf
15 stamper.setEncryption(null, null, PdfWriter.ALLOW_COPY, false);
16 stamper.close();
17 reader.close();
18 } catch(Exception e) {
19 e.printStackTrace();
20 }
实现
PdfWriter.ALLOW_PRINTING:允许打印
PdfWriter.ALLOW_MODIFY_CONTENTS:允许编辑内容
PdfWriter.ALLOW_COPY:允许复制
PdfWriter.ALLOW_MODIFY_ANNOTATIONS:允许编辑注释
PdfWriter.ALLOW_FILL_IN:允许填充表单(128位加密)
PdfWriter.ALLOW_SCREENREADERS:允许用户提取文本和图形以供易访问性设备使用(128位加密)
PdfWriter.ALLOW_ASSEMBLY:允许用户插入、删除和旋转页面和添加书签(128位加密)
PdfWriter.ALLOW_DEGRADED_PRINTING:允许低质量打印(128位加密)
这些权限全部放进setEncryption
但是生成的pdf不能实现图中效果,即鼠标右键选中复制等等
另外权限全部放入后用edge浏览器打开,没有以下提示