我想使用tcpdf扩展名从Yii框架中的数据库表生成一个pdf文件,该扩展名在protected/extensions文件中,使用此代码(我没有使用composer)
public function actionCreatepdf() {
$path = Yii::$app->basePath;
require_once($path . '/extensions/tcpdf/tcpdf.php');
$pdf = new TCPDF();
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 001');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
$pdf->SetHeaderData('', 0, PDF_HEADER_TITLE, '');
$pdf->setHeaderFont(Array('helvetica', '', 8));
$pdf->setFooterFont(Array('helvetica', '', 6));
$pdf->SetMargins(15, 18, 15);
$pdf->SetHeaderMargin(5);
$pdf->SetFooterMargin(10);
$pdf->SetAutoPageBreak(TRUE, 0);
$pdf->SetFont('dejavusans', '', 7);
$pdf->AddPage();
$pdf->SetFillColor(255, 0, 0);
$pdf->SetTextColor(0);
$pdf->SetDrawColor(128, 0, 0);
$pdf->SetLineWidth(0.1);
$pdf->SetFont('');
// Header
$tbl_header = '<table border="1">';
$tbl_footer = '</table>';
// Data
$tbl = '';
$sql = "select * from personal";
$data = Yii::app()->db->createCommand($sql)->queryAll();
for ($i = 0; $i < count($data); $i++) {
$tbl .= '<tr>' .
'<td>' . $data[$i]['first_name'] . '</td>' .
'<td>' . $data[$i]['surname'] . '</td>' .
'<td>' . $data[$i]['age'] . '</td>' .
'</tr>';
}
$pdf->writeHTML($tbl_header . $tbl . $tbl_footer, true, false, false, false, '');
$pdf->Output("Student_Details.pdf", "D");
Yii::app()->end();
返回$this->render('createPdf');}
我有这个错误
PHP Compile Error – yii'base'ErrorException
frontend'controllers'CvController::actionCreatepdf(): Failed opening required 'C:'xampp'htdocs'advanced1'frontend/extensions/tcpdf/tcpdf.php' (include_path='.;C:'xampp'php'PEAR')
在报表中
require_once($path . '/extensions/tcpdf/tcpdf.php');
这条路出了什么问题,如何改正?请帮忙。
如您所见,在系统生成的路径中,有反斜杠,您使用了正斜杠。这是系统特定的。您的代码可能在Unix上工作,Unix在文件路径中使用反斜杠,而不是在Windows中使用正斜杠。
您应该更改这一行:
require_once($path . '/extensions/tcpdf/tcpdf.php');
至
require_once($path . ''extensions'tcpdf'tcpdf.php');