TCPDF设置密码保护后Adobe Acrobat无法填写表单求助
解决TCPDF密码保护下Adobe Acrobat无法填写表单的问题
你的问题核心是权限参数理解错误:TCPDF的SetProtection第一个参数是用户被禁止的权限列表,而非允许的权限。你把fill-forms加入了禁止列表,导致Adobe Acrobat严格执行该限制(其他浏览器/工具对权限校验较宽松,因此能正常填写)。
修正后的代码
将fill-forms从第一个数组中移除,即可保留密码保护同时允许表单填写:
$pdf->SetProtection( array('print', 'modify', 'copy', 'annot-forms', 'extract', 'assemble', 'print-high'), $passw1, // Owner password $passw1, // User password 2 // Encryption strength (2 = high) );
补充说明
- TCPDF的
SetProtection逻辑:第一个数组列出的是不允许用户执行的操作,未列出的操作默认对用户开放(输入正确密码后)。 - 你测试的其他浏览器/iPhone加密文档能正常填写,是因为它们未严格遵循PDF权限控制规范,而Adobe Acrobat是按标准严格执行的,因此必须正确配置权限列表。
内容的提问来源于stack exchange,提问作者Calineanu Romulus Valentin
相关产品推荐
相关产品推荐

