准备工作
首先查询了相关的类库,有FPDF,zendPDF,TcPDF等等。首先看了下先选择了FPDF,可以说除了中文字符以外没有什么问题,中文乱码而且看了下最新版本没有很好的解决方案,所以只能放弃。后来就专门找支持中文的发现了TcPDF,开始也是中文字体支持不是很好,但是发现了有人做了中文的语言包才使得TcPDF更加完美起来。
简介
TCPDF 是一个流行的用于生成 PDF 文档的 PHP 类。TCPDF是当前唯一完整支持 UTF-8 Unicode 以及从右至左书写的语言包括双向文稿的 PHP 库。
TCPDF说明文档
一、首先调用TCPDF文件
1
|
require_once ( 'tcpdf.php' );
|
二、实例化TCPDF类 页面方向(P =肖像,L =景观)、测量(mm)、页面格式
1
|
$pdf = new TCPDF( 'P' , 'mm' , 'A4' , true, 'UTF-8' , false);
|
代码实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
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,只是这里比较适合这种方式。
以上就是如何用PHP导出PDF的详细内容,更多关于用PHP导出PDF的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/a609251438/p/11865857.html