PHP导出成PDF你用哪个插件

准备工作

首先查询了相关的类库,有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);

更多文档信息你可以查看此链接:

https://www.cnblogs.com/520fyl/p/5396374.html

以下是使用TCPDF的示例,做法很简单,看代码吧

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输出自己的名字的文件即可。

演示图:

可以看到其中可以插入图片也是没有问题的,写法就按照html写就OK,当然不只是支持HTML,只是这里比较适合这种方式。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190529A09Q1X00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券