Laravel生成pdf文档 - tcpdf

工作中遇到了Laravel生成pdf文档,就找了找类库,今天给大家推荐的类库是:tcpdf,因为它官网给的例子比较全,所以就用它了。
官网例子:https://tcpdf.org/examples/ 可以点击进去体验一下。
github: https://github.com/tecnickcom/tcpdf
packagist: https://packagist.org/packages/tecnickcom/tcpdf
之前还看了fpdf类库,支持中文不是很方便,需要一个中文扩展程序,所以就放弃它了。今天tcpdf是主角,先看一下它的特型。

TCPDF具有以下特性:
1、支持页面页脚;
2、支持HTML标签代码;
3、支持jpg/png/gif/svg图形图像;
4、支持表格;
5、支持中文字符;(有些PDF类不支持中文或者处理中文相当麻烦)
6、自动分页,自动页码,等等。

如何用Laravel生成pdf文档?

由于开发工作用的是Laravel,所以首先需要引入类库,如下:

composer require tecnickcom/tcpdf

代码如下:

        $pdf = new \TCPDF();
        // 设置文档信息
        $pdf->SetCreator('懒人开发网');
        $pdf->SetAuthor('懒人开发网');
        $pdf->SetTitle('TCPDF示例');
        $pdf->SetSubject('TCPDF示例');
        $pdf->SetKeywords('TCPDF, PDF, PHP');

        // 设置页眉和页脚信息
        $pdf->SetHeaderData('tcpdf_logo.jpg', 30, 'LanRenKaiFA.com', '学会偷懒,并懒出效率!', [0, 64, 255], [0, 64, 128]);
        $pdf->setFooterData([0, 64, 0], [0, 64, 128]);

        // 设置页眉和页脚字体
        $pdf->setHeaderFont(['stsongstdlight', '', '10']);
        $pdf->setFooterFont(['helvetica', '', '8']);

        // 设置默认等宽字体
        $pdf->SetDefaultMonospacedFont('courier');

        // 设置间距
        $pdf->SetMargins(15, 15, 15);//页面间隔
        $pdf->SetHeaderMargin(5);//页眉top间隔
        $pdf->SetFooterMargin(10);//页脚bottom间隔

        // 设置分页
        $pdf->SetAutoPageBreak(true, 25);

        // set default font subsetting mode
        $pdf->setFontSubsetting(true);

        //设置字体 stsongstdlight支持中文
        $pdf->SetFont('stsongstdlight', '', 14);

        //第一页
        $pdf->AddPage();
        $pdf->writeHTML('

第一页内容

'
); $pdf->writeHTML('

我是第一行内容

'
); $pdf->writeHTML('

我是第二行内容

'
); $pdf->writeHTML('

我是第三行内容

'
); $pdf->Ln(5);//换行符 $pdf->writeHTML('

懒人开发网

'
); //第二页 $pdf->AddPage(); $pdf->writeHTML('

第二页内容

'
); //输出PDF $pdf->Output('t.pdf', 'I');//I输出、D下载

你可能感兴趣的:(php)