如何在 yii2 中保护 pdf 密码 php

How to make pdf password protected in yii2 php

我想保护我的 pdf 密码。

我正在使用 kartik\mpdf\Pdf 生成 pdf 的扩展程序。

             $pdf = new Pdf([
                // set to use core fonts only
                'mode' => Pdf::MODE_CORE,
                // A4 paper format
                'format' => Pdf::FORMAT_A4,
                // portrait orientation
                'orientation' => Pdf::ORIENT_PORTRAIT,
                // stream to browser inline
                'destination' => Pdf::DEST_FILE,
                // your html content input
                'content' => $html,
                // any css to be embedded if required
                'cssFile' => '@api/web/css/notes.css',
                // set mPDF properties on the fly
                'options' => ['title' => $note['title']],
                // call mPDF methods on the fly
                'methods' => [
                    'SetHeader' => [''],
                    'SetFooter' => [''],
                ],
            ]);
            $pdf->content = $html;
            $file_name = "test" . rand(7, 100).pdf";
            $password = "122":
            $pdf->setProtection(array(),$password); 
            $pdf->filename = "uploads/" . $file_name;

            echo $pdf->render();

但它给我这样的错误:调用未知方法:kartik\mpdf\Pdf::setProtection();

我还尝试了以下将方法放在文件名之后的代码:

$pdf->filename->setProtection(array(), $password);

但它也给我这样的错误:Call to a member function setProtection() on string.

我知道供应商的 kartik 库中提供了 setProtection 方法,但我不确定如何使用它。

如果有人有想法,请帮助我。

尝试

$pdf->getApi()->setProtection();

方法getApi()是直接调用MPDF对象,也就是SetProtection()方法所在