是否可以使用PHP从PDF文件中删除密码?

是否可以使用PHP从PDF文件中删除密码?,php,pdf,passwords,Php,Pdf,Passwords,我想问一下,是否可以使用PHP从我已经知道密码的受密码保护的PDF文件中删除密码?我已经看到它提供了许多选项,但是使用bash脚本:(我被要求尽可能多地使用PHP。任何建议都值得赞赏!当然,这是可能的,您需要做的只是对加密和压缩进行反向工程,并在PHP中实现反向操作-但为什么要费心: <?php `gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=unencrypted.pdf -c .setpdfwrite -f encr

我想问一下,是否可以使用PHP从我已经知道密码的受密码保护的PDF文件中删除密码?我已经看到它提供了许多选项,但是使用bash脚本:(我被要求尽可能多地使用PHP。任何建议都值得赞赏!

当然,这是可能的,您需要做的只是对加密和压缩进行反向工程,并在PHP中实现反向操作-但为什么要费心:

<?php
   `gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=unencrypted.pdf -c .setpdfwrite -f encrypted.pdf`;
?>


C.

我在linux上使用
qpdf
删除pdf密码。要安装run:

sudo apt install qpdf
下面是从php调用
qpdf
的函数:

function removePdfPassword($inFilePath, $password, $outFilePath)
{
    if (empty($inFilePath) || empty($password) || !file_exists($inFilePath)) {
        return false;
    }

    $cmd = 'qpdf -password=' . escapeshellarg($password) . ' -decrypt ' . escapeshellarg($inFilePath) . ' ' . escapeshellarg($outFilePath);

    exec($cmd, $output, $retcode);
    $success = $retcode == 0;

    if (!$success) {
        @unlink($outFilePath);
    }

    return $success;
}

您好!谢谢您的回复。是的,我在上面发布的链接中也发现了这个问题。但我遇到了与此相同的错误。如果您知道密码,可以将
-sPDFPassword=yourpassword
添加到gs命令中。您可以借助java查找我的答案