如何在PHP中检查PDF文件是否受密码保护

时间:2013-04-09 11:49:22

标签: php pdf passwords password-protection

如何在使用PHP上传多个文件时检查上传PDF文件是否受密码保护?如果密码受到保护,我想显示错误。

2 个答案:

答案 0 :(得分:1)

我在网上发现了类似的帖子,检查出来。

http://drupal.org/node/843516

/**
* Check whether pdf is encrypted or password protected.
* @param <type> $form
* @param <type> $form_state
*/
function pdftest_is_encrypted($form,&$form_state) {    
     include_once 'sites/all/libraries/fpdi/pdf_parser.php';    
     foreach($form_state['values']['files'] as $value) {
       //Check whether file type is pdf and confirm the file is selected to remove.
        if($value['filemime'] == 'application/pdf' && $value['remove'] != 1) {
          $pdf = new pdf_parser($value['filepath']);                   
          if(stristr($pdf->errormsg,'File is encrypted')) {
              form_set_error('field_attachment', t('Uploaded PDF Document '.$value['filename'].' is encrypted and can not be uploaded. '.l('Guide to troubleshooting failed uploads.','http://support.scribd.com/forums/33627/entries/24412')));
          }
        }
     }

答案 1 :(得分:0)

这个问题是is it possible to check if pdf is password protected using ghostscript?的变体(你可能只需要执行那里提供的shell脚本,它依赖于ghostcript)