使用tcpdf扩展从yii中的数据库表生成pdf文件


generate pdf file from database table in yii using tcpdf extension

我想使用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');