评论

收藏

[PHP] 如何用PHP导出PDF

开发技术 开发技术 发布于:2021-09-13 10:15 | 阅读数:235 | 评论:0

实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快速生成PDF文件的PHP5函数包。TCPDF基于FPDF进行扩展和改进,增强了实用功能。                                                                           
准备工作
首先查询了相关的类库,有FPDF,zendPDF,TcPDF等等。首先看了下先选择了FPDF,可以说除了中文字符以外没有什么问题,中文乱码而且看了下最新版本没有很好的解决方案,所以只能放弃。后来就专门找支持中文的发现了TcPDF,开始也是中文字体支持不是很好,但是发现了有人做了中文的语言包才使得TcPDF更加完美起来。

简介
TCPDF 是一个流行的用于生成 PDF 文档的 PHP 类。TCPDF是当前唯一完整支持 UTF-8 Unicode 以及从右至左书写的语言包括双向文稿的 PHP 库。

TCPDF说明文档
一、首先调用TCPDF文件
require_once('tcpdf.php');
二、实例化TCPDF类 页面方向(P =肖像,L =景观)、测量(mm)、页面格式
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
代码实现
vendor('Pdf');
    $pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
    $pdf->SetCreator(PDF_CREATOR);
    $pdf->SetAuthor('sunnier');
    $pdf->SetTitle('123');
    $pdf->SetSubject('123');
    $pdf->SetKeywords('sunnier');
// set default header data
    $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
// set header and footer fonts
    $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
    $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
    $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
    $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
    $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
    $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
    $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set some language-dependent strings (optional)
    global $l;
    $pdf->setLanguageArray($l);
// ---------------------------------------------------------
// set font
    $pdf->SetFont('simfang', '', 10);
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Print a table
// add a page
    $pdf->AddPage();
// 随便写HTML
    $html = 'adsf';
// output the HTML content
    $pdf->writeHTML($html, true, false, true, false, '');
// reset pointer to the last page
    $pdf->lastPage();
    $pdf->Output('哈哈哈'.pdf', 'I');
以上,可以不断添加addPage,添加多页,最后Output输出自己的名字的文件即可。
演示图:
DSC0000.jpg

可以看到其中可以插入图片也是没有问题的,写法就按照html写就OK,当然不只是支持HTML,只是这里比较适合这种方式。
以上就是如何用PHP导出PDF的详细内容,更多关于用PHP导出PDF的资料请关注CodeAE代码之家其它相关文章!

关注下面的标签,发现更多相似文章