如何用 PHP 创建 PDF?
Posted by 撒得一地 on 2016年5月19日 in PHP笔记
有很多的 web 应用程序需要用 PDF 的格式输出如发票、 合同或其 web 页等信息。PHP 可以用 PDFlib 库动态的创建 PDF,但该库非常巨大,需要大量的时间去研究和理解。所以有另一个 PHP 类 FPDF 允许您轻松地生成 PDF 文件,而无需使用复杂的 PDFlib 库。
FPDF 库是免费的,并且可以从官方网站上下载。官方地址:http://www.fpdf.org/。
下载包中包含一些必要的文件,以及如何使用它的一些教程。下面是 PHP 代码实例,先从 MySQL 表数据里面取出数据,然后使用 FPDF 库创建的 PDF。您必须下载并解压缩 FPDF 包,将里面的 PHP 文件拷贝到要运行此示例的文件夹。
PHP 代码:从 mysql 中读取数据然后用 PHP 创建PDF
<?php //这是连接数据库的代码 你可以自己写 include_once("../db_connect.php"); $sql = "SELECT id, employee_name, employee_salary, employee_age FROM employee LIMIT 10"; $resultset = mysqli_query($conn, $sql) or die("database error:". mysqli_error($conn)); //这里根据你下载的包名称来定 require('fpdf/fpdf.php'); $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',12); while ($field_info = mysqli_fetch_field($resultset)) { $pdf->Cell(47,12,$field_info->name,1); } while($rows = mysqli_fetch_assoc($resultset)) { $pdf->SetFont('Arial','',12); $pdf->Ln(); foreach($rows as $column) { $pdf->Cell(47,12,$column,1); } } $pdf->Output(); ?>
你应该下载并解压 FPDF 库文件到你的服务器文件夹下。现在,在你的服务器上的同个一文件夹内创建一个新的文件,名为 createpdf.php,并插入上面的代码。然后你就可以通过浏览器来访问这个实例文件 createpdf.php。
MySQL 表和数据
你需要在 Mysql 插入如下数据:
-- -- Table structure for table `employee` -- CREATE TABLE IF NOT EXISTS `employee` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key', `employee_name` varchar(255) NOT NULL COMMENT 'employee name', `employee_salary` double NOT NULL COMMENT 'employee salary', `employee_age` int(11) NOT NULL COMMENT 'employee age', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='datatable demo table' AUTO_INCREMENT=58 ; -- -- Dumping data for table `employee` -- INSERT INTO `employee` (`id`, `employee_name`, `employee_salary`, `employee_age`) VALUES (1, 'Tiger Nixon', 320800, 61), (2, 'Garrett Winters', 170750, 63), (3, 'Ashton Cox', 86000, 66), (4, 'Cedric Kelly', 433060, 22), (5, 'Airi Satou', 162700, 33), (6, 'Brielle Williamson', 372000, 61), (7, 'Herrod Chandler', 137500, 59), (8, 'Rhona Davidson', 327900, 55), (9, 'Colleen Hurst', 205500, 39), (10, 'Sonya Frost', 103600, 23);
fpdf 文件你可以去官方网站下载,这里提供 FPDF1.8 版本的百度云下载地址:http://pan.baidu.com/s/1kVcZsN1