Php 类别';CakePdf\Pdf\CakePdf';找不到

Php 类别';CakePdf\Pdf\CakePdf';找不到,php,cakephp-3.0,wkhtmltopdf,Php,Cakephp 3.0,Wkhtmltopdf,我是Cake php新手,我想使用wkhtmltopdf插件,但显示了类“CakePdf\Pdf\CakePdf”未找到消息 在Config/bootstrap.php中,我添加了以下内容: Plugin::load('CakePdf', ['bootstrap' => true]); Configure::write('CakePdf', [ 'engine' => [ 'className' => 'CakePdf.WkHtmlToPdf', 'binary

我是Cake php新手,我想使用wkhtmltopdf插件,但显示了类“CakePdf\Pdf\CakePdf”未找到消息

在Config/bootstrap.php中,我添加了以下内容:

Plugin::load('CakePdf', ['bootstrap' => true]);
Configure::write('CakePdf', [
'engine' => [
    'className' => 'CakePdf.WkHtmlToPdf',
    'binary' => __DIR__ . '/../plugins/wkhtmltox/bin/wkhtmltopdf',
    'options' => [
        'print-media-type' => false,
        'outline' => true,
        'dpi' => 96
    ],
],]);
在我的控件类中,方法是:

$pdf_path = WWW_ROOT . 'user_forms' . DS . $user_form['form_number'] . DS . date('Y-m-d') . DS . $user_form['tracking_id'] . '.pdf';
    $CakePdf = new \CakePdf\Pdf\CakePdf();
    $CakePdf->template('userform', 'ajax');
    $CakePdf->viewVars(array(
        'form_preview' => $user_form['form_preview'], 'tracking_id' => $this->enToBn($user_form['tracking_id'])
    ));
    $pdf = $CakePdf->output();
    $pdf = $CakePdf->write($pdf_path);

你应该
使用CakePdf\Pdf\CakePdf位于控制器顶部。这将引入CakePdf名称空间

然后,像这样改变你的功能:

$pdf_path = WWW_ROOT . 'user_forms' . DS . $user_form['form_number'] . DS . date('Y-m-d') . DS . $user_form['tracking_id'] . '.pdf';
    $CakePdf = new CakePdf();
    $CakePdf->template('userform', 'ajax');
    $CakePdf->viewVars(array(
        'form_preview' => $user_form['form_preview'], 'tracking_id' => $this->enToBn($user_form['tracking_id'])
    ));
    $pdf = $CakePdf->output();
    $pdf = $CakePdf->write($pdf_path);
如果你需要把它拉进去,我想

$CakePdf=new\CakePdf\Pdf\CakePdf\CakePdf()


应该这样做。

把它放在控制器的顶部:

App::uses('CakePdf', 'CakePdf.Pdf');
我想这对你有用