欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP导出成PDF你用哪个插件

程序员文章站 2023-08-31 13:06:49
准备工作 首先查询了相关的类库,有FPDF,zendPDF,TcPDF等等。首先看了下先选择了FPDF,可以说除了中文字符以外没有什么问题,中文乱码而且看了下最新版本没有很好的解决方案,所以只能放弃。后来就专门找支持中文的发现了TcPDF,开始也是中文字体支持不是很好,但是发现了有人做了中文的语言包 ......


准备工作

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

 

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

 1   vendor('pdf');
 2         $pdf = new \tcpdf(pdf_page_orientation, pdf_unit, pdf_page_format, true, 'utf-8', false);
 3 
 4         $pdf->setcreator(pdf_creator);
 5         $pdf->setauthor('sunnier');
 6         $pdf->settitle('123');
 7         $pdf->setsubject('123');
 8         $pdf->setkeywords('sunnier');
 9 
10 // set default header data
11         $pdf->setheaderdata(pdf_header_logo, pdf_header_logo_width, pdf_header_title, pdf_header_string);
12 
13 // set header and footer fonts
14         $pdf->setheaderfont(array(pdf_font_name_main, '', pdf_font_size_main));
15         $pdf->setfooterfont(array(pdf_font_name_data, '', pdf_font_size_data));
16 
17 // set default monospaced font
18         $pdf->setdefaultmonospacedfont(pdf_font_monospaced);
19 
20 // set margins
21         $pdf->setmargins(pdf_margin_left, pdf_margin_top, pdf_margin_right);
22         $pdf->setheadermargin(pdf_margin_header);
23         $pdf->setfootermargin(pdf_margin_footer);
24 
25 // set auto page breaks
26         $pdf->setautopagebreak(true, pdf_margin_bottom);
27 
28 // set image scale factor
29         $pdf->setimagescale(pdf_image_scale_ratio);
30 
31 // set some language-dependent strings (optional)
32         global $l;
33         $pdf->setlanguagearray($l);
34 
35 // ---------------------------------------------------------
36 
37 // set font
38         $pdf->setfont('simfang', '', 10);
39 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
40 // print a table
41 
42 // add a page
43         $pdf->addpage();
44 
45 // 随便写html
46         $html = 'adsf';
47 
48 // output the html content
49         $pdf->writehtml($html, true, false, true, false, '');
50 
51 // reset pointer to the last page
52         $pdf->lastpage();
53         $pdf->output('哈哈哈'.pdf', 'i');
54  

 

以上,可以不断添加addpage,添加多页,最后output输出自己的名字的文件即可。
演示图:

PHP导出成PDF你用哪个插件

 

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