使用dompdf在cakePdf中进行Pdf加密

使用dompdf在cakePdf中进行Pdf加密,pdf,encryption,dompdf,Pdf,Encryption,Dompdf,我研究了如何使用cakepdf创建pdf。我已经能够使用GitHub上的ceeram/CakePdf成功生成pdf并将其附加到电子邮件中。现在我想加密通过电子邮件发送的pdf。我花了两天时间进行研究,但都没有成功。我尝试了ceeram/CakePdf上的加密教程,但它对我不起作用。我不知道我做错了什么 在我的bootstrape中,我有: CakePlugin::load('CakePdf', array('bootstrap' => true, 'routes' => true))

我研究了如何使用cakepdf创建pdf。我已经能够使用GitHub上的ceeram/CakePdf成功生成pdf并将其附加到电子邮件中。现在我想加密通过电子邮件发送的pdf。我花了两天时间进行研究,但都没有成功。我尝试了ceeram/CakePdf上的加密教程,但它对我不起作用。我不知道我做错了什么

在我的bootstrape中,我有:

CakePlugin::load('CakePdf', array('bootstrap' => true, 'routes' => true));
Configure::write('CakePdf', array(
        'engine' => 'CakePdf.DomPdf',
        'options' => array(
            'print-media-type' => false,
            'outline' => true,
            'dpi' => 96
        ),
        'margin' => array(
            'bottom' => 15,
            'left' => 50,
            'right' => 30,
            'top' => 45
        ),
        'paperSize' => 'A4',
        'orientation' => 'landscape',
        'download' => false,
    ));
    Configure::write('CakePdf.crypto', 'CakePdf.Pdftk');
$this->pdfConfig = array(
     'orientation' => 'portrait',
     'filename' => 'Invoice_'. 3,
     'options' => array(
            'protect' => true,
             'userPassword' => '123'
        ),
     'permissions'=>array('print','screen_readers','copy_contents')
 );

 $CakePdf = new CakePdf();
 $CakePdf->template('confirmpdf', 'default');
 //get the pdf string returned
 $pdf = $CakePdf->output();
 //or write it to file directly
 $pdf = $CakePdf->write(APP . 'webroot'. DS .'files' . DS . 'userdetail.pdf');
 $pdf = APP . 'webroot'. DS .'files' . DS . 'userdetail.pdf';
在我的行动中,我有:

CakePlugin::load('CakePdf', array('bootstrap' => true, 'routes' => true));
Configure::write('CakePdf', array(
        'engine' => 'CakePdf.DomPdf',
        'options' => array(
            'print-media-type' => false,
            'outline' => true,
            'dpi' => 96
        ),
        'margin' => array(
            'bottom' => 15,
            'left' => 50,
            'right' => 30,
            'top' => 45
        ),
        'paperSize' => 'A4',
        'orientation' => 'landscape',
        'download' => false,
    ));
    Configure::write('CakePdf.crypto', 'CakePdf.Pdftk');
$this->pdfConfig = array(
     'orientation' => 'portrait',
     'filename' => 'Invoice_'. 3,
     'options' => array(
            'protect' => true,
             'userPassword' => '123'
        ),
     'permissions'=>array('print','screen_readers','copy_contents')
 );

 $CakePdf = new CakePdf();
 $CakePdf->template('confirmpdf', 'default');
 //get the pdf string returned
 $pdf = $CakePdf->output();
 //or write it to file directly
 $pdf = $CakePdf->write(APP . 'webroot'. DS .'files' . DS . 'userdetail.pdf');
 $pdf = APP . 'webroot'. DS .'files' . DS . 'userdetail.pdf';
pdf正在按预期生成,但尚未加密。我做错了什么


提前感谢您的帮助。

我猜第一个问题是,您是否安装了pdftk?您是否尝试过CPDF库()的setEncryption()方法?非常感谢。我必须安装pdftk并使用php exec()函数使其工作。我现在以我想要的方式获取加密pdf。再次感谢您的帮助。