如何在Yii中正确使用HTML2PDF和Yii-PDF?

时间:2016-05-09 09:54:32

标签: php pdf yii html2pdf

您好我是yii的新手所以目前还不知道如何正确使用这个Html2pdf& yii-pdf扩展名为yii以获取pdf ..

我真正想要的是......我有一个名为http://localhost/site/Users/Results的页面,它显示了用户列表。如果我点击用户一,它将打开一个名为http://localhost/site/Applicant/1的新页面 &安培;对于用户二,它将是 http://localhost/site/Applicant/2 所以在这些页面上有用户的所有信息。我想在此页面上下载PDF按钮,如果用户点击它,他将能够以PDF格式下载他的所有信息。可以有很多用户。每个用户都可以用pdf下载他的所有信息。

我得到了html2pdf& yii-PDF ..我通过在谷歌搜索获得此设置,但无法根据我的要求找到使用它的正确示例。

配置/ main.php

'ePdf' => array(
        'class' => 'ext.yii-pdf.EYiiPdf',
        'params' => array(
            'HTML2PDF' => array(
                'librarySourcePath' => 'application.extensions.html2pdf.*',
                'classFile'         => 'html2pdf.class.php', // For adding to Yii::$classMap
                /*'defaultParams'     => array( // More info: http://wiki.spipu.net/doku.php?id=html2pdf:en:v4:accueil
                    'orientation' => 'P', // landscape or portrait orientation
                    'format'      => 'A4', // format A4, A5, ...
                    'language'    => 'en', // language: fr, en, it ...
                    'unicode'     => true, // TRUE means clustering the input text IS unicode (default = true)
                    'encoding'    => 'UTF-8', // charset encoding; Default is UTF-8
                    'marges'      => array(5, 5, 5, 8), // margins by default, in order (left, top, right, bottom)
                )*/
            )
        ),
    ),

这是我的控制器。

class UsersController extends Controller
{
    public function createPDF(){
        $html2pdf = Yii::app()->ePdf->HTML2PDF();
        $html2pdf->WriteHTML($this->renderPartial('index', array(), true));
        $html2pdf->Output();
    }
}

我对yii全新,所以如何使用此扩展,我以前从未使用任何扩展..是否有任何其他方法来下载每个用户信息的pdf。任何建议或工作代码的例子。

1 个答案:

答案 0 :(得分:0)

配置/ main.php

'ePdf' => array(
            'class' => 'ext.yii-pdf.EYiiPdf',
            'params' => array(
                'HTML2PDF' => array(
                    'librarySourcePath' => 'application.vendors.html2pdf.*',
                    'classFile' => 'html2pdf.class.php', // For adding to Yii::$classMap
                )
            ),
        ),

控制器

class UsersController extends Controller
{
    public function createPDF(){
        $pdffilename = 'test.pdf';
        $html2pdf = Yii::app()->ePdf->HTML2PDF();
        $html2pdf->WriteHTML($this->renderPartial('index', array(), true));
        ob_clean();
        $html2pdf->Output($pdffilename,"I"); // OUTPUT_TO_BROWSER
        /* OUTPUT_TO_BROWSER = "I" */
        /* OUTPUT_TO_DOWNLOAD = "D" */
        /* OUTPUT_TO_FILE = "F" */
        /* OUTPUT_TO_STRING = "S" */
    }
}