Yii1整合ZF2中的ZendPdf组件

将zend的库和ZendPdf的组件拷贝到yii项目工程中的 \yiiproject\protected\vendor 的目录下。

D:\zendframework\yiiproject\protected\vendor>dir
2016/07/19  12:31    <DIR>          .
2016/07/19  12:31    <DIR>          ..
2016/07/19  13:07    <DIR>          Zend
2016/07/19  12:31    <DIR>          zendpdf

ZendPdf的github地址: https://github.com/zendframework/ZendPdf

Controller 中的是示范代码


    public function actionPdf() {
        Yii::import('application.vendor.*');
        Yii::setPathOfAlias('Zend', Yii::getPathOfAlias('application.vendor.Zend'));
        Yii::setPathOfAlias('ZendPdf', Yii::getPathOfAlias('application.vendor.ZendPdf.library.ZendPdf'));

        $pdf = new ZendPdf\PdfDocument();
        $pdf->pages[0] = new ZendPdf\Page(ZendPdf\Page::SIZE_A4);

        $font = ZendPdf\Font::fontWithPath('fonts/YaHei.Consolas.1.12_0.ttf');

        $pdf->pages[0]->setFont($font, 24);
        $pdf->pages[0]->drawText('Hello world!test 東京都', 240, 400, 'UTF-8');

        $filename = 'example.pdf';
//        $pdf->save($filename);

        header('Content-Type: application/pdf');
        header('Content-Disposition: attachment;filename=' . $filename);
        header('Cache-Control: max-age=0');        
        $pdf->save('php://output');
    }

你可能感兴趣的:(PHP)