思路是给PdfWriter设置个不可修改的属性

WriterProperties wp = new WriterProperties();
// 我这里是只允许打印
wp.setStandardEncryption(null, "123456".getBytes(), EncryptionConstants.ALLOW_PRINTING, EncryptionConstants.DO_NOT_ENCRYPT_METADATA);
// 我这里是HttpServletResponse直接返回文件
PdfWriter writer = new PdfWriter(response.getOutputStream(), wp);


setStandardEncryption的参数为访问者密码(打开文件就要输入密码),拥有者密码(关键操作要输入密码),访问者权限,加密方式。


权限说明
ALLOW_PRINTING文档允许打印
ALLOW_DEGRADED_PRINTING允许用户打印文档,但不提供allow_printing质量(128位加密)
ALLOW_MODIFY_CONTENTS允许用户修改内容,例如 更改页面内容,或插入或删除页
ALLOW_ASSEMBLY允许用户插入、删除和旋转页面和添加书签。页面的内容不能更改,除非也授予allow_modify_contents权限,(128位加密)
ALLOW_COPY允许用户复制或以其他方式从文档中提取文本和图形,包括使用辅助技术。例如屏幕阅读器或其他可访问设备
ALLOW_SCREENREADERS允许用户提取文本和图形以供易访问性设备使用,(128位加密)
ALLOW_MODIFY_ANNOTATIONS允许用户添加或修改文本注释和交互式表单字段
ALLOW_FILL_IN允许用户填写表单字段,(128位加密)

请注意:访问者权限,只能选其中之一

赞助本站,网站的持续发展离不开你们的支持!一分也是爱ヾ(◍°∇°◍)ノ゙
 本文链接: ,花了好多脑细胞写的,转载请注明链接喔~~
登陆
      正在加载评论