首页 > 文章列表 > php如何使用TCPDF生成PDF文件?

php如何使用TCPDF生成PDF文件?

php tcpdf PDF生成
501 2023-06-02

在Web开发中,经常需要生成PDF文件,用于打印、下载等用途。PHP作为一门流行的Web编程语言,提供了很多生成PDF文件的库,如FPDF、TCPDF、mpdf等。本文将介绍如何使用TCPDF库生成PDF文件。

一、什么是TCPDF

TCPDF是一个开源的PHP类库,用于生成PDF文件。它支持中文和Unicode字符集,具有丰富的文本布局和格式化选项,可以插入图片、水印、表格等各种元素。TCPDF生成的PDF文件可以在所有流行的浏览器和操作系统中正常显示。

二、安装TCPDF

  1. 下载TCPDF库

首先,需要从TCPDF官网(https://tcpdf.org/)下载最新的库文件。解压后,将TCPDF文件夹移动到项目目录下的lib文件夹中。

  1. 导入TCPDF库

在PHP文件中,通过require_once命令导入TCPDF库文件:

require_once('lib/tcpdf/tcpdf.php');

三、生成PDF文件

下面介绍如何使用TCPDF库创建PDF文件:

  1. 创建TCPDF对象

使用TCPDF类创建一个新的TCPDF对象:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

其中,PDF_PAGE_ORIENTATION表示页面方向(横向或纵向),PDF_UNIT表示页面单位(毫米、英寸等),PDF_PAGE_FORMAT表示页面格式(A4、A5等),'UTF-8'表示字符集,最后一个参数表示是否使用K_PATH_CACHE来启用/禁用文件缓存。

  1. 设置文档信息

使用SetCreator、SetTitle、SetSubject、SetKeywords等方法设置PDF文档信息:

$pdf->SetCreator(PDF_CREATOR);
$pdf->SetTitle('TCPDF Example');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
  1. 设置页面和字体

使用SetFont、SetMargins、SetHeaderData、SetFooterData等方法设置页面和字体:

// 设置默认字体
$pdf->SetFont('cid0jp', '', 14);
$pdf->SetMargins(10, 10, 10);
$pdf->SetHeaderData('', 0, '', '', array(0, 0, 0), array(255, 255, 255));
$pdf->SetFooterData(array(0, 0, 0), array(255, 255, 255));
  1. 添加新页面

使用WriteHTML和AddPage方法添加新页面:

$pdf->AddPage();
$html = '<h1>TCPDF Example</h1><p>This is an example of TCPDF.</p>';
$pdf->WriteHTML($html);
  1. 输出PDF文件

使用Output方法将PDF文件输出到浏览器或保存到文件:

$pdf->Output('example.pdf', 'I');

其中,第一个参数表示文件名,第二个参数表示输出方式(I表示浏览器输出,D表示下载文件,F表示保存文件)。

四、TCPDF应用实例

下面是一个简单的TCPDF应用实例,生成一个包含时间戳、图片和表格的PDF文件:

require_once('lib/tcpdf/tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetTitle('TCPDF Example');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');

// 设置默认字体
$pdf->SetFont('cid0jp', '', 14);
$pdf->SetMargins(10, 10, 10);
$pdf->SetHeaderData('', 0, '', '', array(0, 0, 0), array(255, 255, 255));
$pdf->SetFooterData(array(0, 0, 0), array(255, 255, 255));

// 添加新页面
$pdf->AddPage();
$html = '<h1>TCPDF Example</h1>';
$html .= '<p>Generated on '.date('Y-m-d H:i:s').'</p>';
$html .= '<img src="images/tcpdf-logo.png" />';
$html .= '<table>';
$html .= '<tr><th>Name</th><th>Age</th></tr>';
$html .= '<tr><td>Tom</td><td>20</td></tr>';
$html .= '<tr><td>John</td><td>25</td></tr>';
$html .= '</table>';
$pdf->WriteHTML($html);

// 输出PDF文件
$pdf->Output('example.pdf', 'I');

运行后,将生成一个包含时间戳、图片和表格的PDF文件。

五、总结

TCPDF是一个强大的PHP类库,用于生成PDF文件。本文介绍了TCPDF的安装和使用方法,并提供了一个TCPDF应用实例。通过学习本文,你将掌握使用TCPDF生成PDF文件的技能,可以在Web开发中灵活应用。