我正在尝试使用 CakePdf 在 CakePHP 中生成一个 pdf 文件。我在 CourseGradesController 中有一个名为 viewReport 的函数。我希望 viewReport 允许您从选择字段中选择一个学生,然后在提交表单后,它将生成一个包含适当数据的 PDF。如果我将数据放入表格并且不尝试制作 PDF,页面将正确显示,所以我认为这不是问题。在 bootstrap.php 中,我有
CakePlugin::load('CakePdf', array('bootstrap' => true, 'routes' => true));
Configure::write('CakePdf', array(
'engine' => 'CakePdf.WkHtmlToPdf',
'options' => array(
'print-media-type' => false,
'outline' => true,
'dpi' => 96
),
'margin' => array(
'bottom' => 15,
'left' => 50,
'right' => 30,
'top' => 45
),
'binary' => '/var/www/cakephp/app/Plugin/CakePdf/Vendor/WkHtmlToPdf',
'orientation' => 'landscape',
'download' => false
));
我将 WkHtmlToPdf 文件夹移到 /var/www/cakephp/app/Plugin/CakePdf/Vendor/WkHtmlToPdf 中,因此 lib 和 include 文件夹位于该目录中。
在 CourseGradesController 的 viewReport 函数中,我有
function viewReport($id = null)
{
$this->CourseGrade->id = $id;
if (!$this->CourseGrade->exists())
{
throw new NotFoundException(__('Invalid invoice'));
}
$this->pdfConfig = array(
'orientation' => 'portrait',
'filename' => 'Invoice_' . $id
);
$this->set('invoice', $this->CourseGrade->read(null, $id));
...
}
如果我导航到 /courseGrades/viewReport,我会收到错误消息“错误:在此服务器上找不到请求的地址 '/cakephp/courseGrades/viewReport'。”
如果我导航到 /courseGrades/viewReport/1.pdf,那么我只会看到一个完全空白的屏幕。