PHP学习
返回
登录/注册
怎么用PHP创建和修改PDF文档
楼主
dywuxianfeng 于 2013-04-16 13:04:34
怎么用PHP创建和修改PDF文档
[LINE-HEIGHT=21px][FACE=DejaVu Sans][COLOR=rgb(68, 68, 68)][BGCOLOR=rgb(255, 255, 255)][SIZE=14px]PDF全称Portable Document Format,译为可移植文档格式,是Adobe公司推出的便携文档格式。PDF具有与操作系统无关的特性,这一性能使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。今天我们来讨论如何使用PHP创建PDF文档,以及使用PHP修改PDF。[/SIZE][/BGCOLOR][/COLOR][/FACE][/LINE-HEIGHT]
[LINE-HEIGHT=21px][FACE=DejaVu Sans][COLOR=rgb(68, 68, 68)][BGCOLOR=rgb(255, 255, 255)][SIZE=14px]要想在PHP中使用PDF文档,我们需要用到TCPDF包,一个PHP用来读取PDF的类。[/SIZE][/BGCOLOR][/COLOR][/FACE][/LINE-HEIGHT]
[LINE-HEIGHT=21px][FACE=DejaVu Sans][COLOR=rgb(68, 68, 68)][BGCOLOR=rgb(255, 255, 255)][SIZE=14px]PHP创建PDF文档[/SIZE][/BGCOLOR][/COLOR][/FACE][/LINE-HEIGHT]
[LINE-HEIGHT=21px][FACE=DejaVu Sans][COLOR=rgb(68, 68, 68)][BGCOLOR=rgb(255, 255, 255)][SIZE=14px]这是一个免费且易用的插件包,下面我们给出一些示例来演示如何使用TCPDF包。[/SIZE][/BGCOLOR][/COLOR][/FACE][/LINE-HEIGHT]
[LINE-HEIGHT=21px][FACE=DejaVu Sans][COLOR=rgb(68, 68, 68)][BGCOLOR=rgb(255, 255, 255)][SIZE=14px]示例一:使用PHP生成一个简单的PDF文档[/SIZE][/BGCOLOR][/COLOR][/FACE][/LINE-HEIGHT][P][LINE-HEIGHT=21px][FACE=DejaVu Sans][COLOR=rgb(102, 102, 102)][BGCOLOR=rgb(247, 247, 247)][SIZE=14px][P][ol][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]require_once('../config/lang/eng.php');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]require_once('../tcpdf.php');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// create new PDF document
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// set document information $pdf->SetCreator(PDF_CREATOR);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetAuthor('Nicola Asuni');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetTitle('TCPDF Example 002');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetSubject('TCPDF Tutorial');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// remove default header/footer
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->setPrintHeader(false);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->setPrintFooter(false);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// set default monospaced font
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]//set margins
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]//set auto page breaks $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]//set image scale factor $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]//set some language-dependent strings $pdf->setLanguageArray($l);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// ---------------------------------------------------------
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// set font
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetFont('times', 'BI', 20);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// add a page $pdf->AddPage();
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// print a line using Cell()
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->Cell(0, 10, 'Example 002', 1, 1, 'C');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// ---------------------------------------------------------
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]//Close and output PDF document
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->Output('example_002.pdf', 'I'); ?>
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px][/SIZE][/FACE][/LINE-HEIGHT][/li][/ol][/SIZE][/BGCOLOR][/COLOR][/FACE][/LINE-HEIGHT][/P][i]复制代码[/i][/P]
[LINE-HEIGHT=21px][FACE=DejaVu Sans][COLOR=rgb(68, 68, 68)][BGCOLOR=rgb(255, 255, 255)][SIZE=14px]使用PHP修改PDF文档下面我们讨论如何使用PHP修改PDF文档。[/SIZE][/BGCOLOR][/COLOR][/FACE][/LINE-HEIGHT]
[LINE-HEIGHT=21px][FACE=DejaVu Sans][COLOR=rgb(68, 68, 68)][BGCOLOR=rgb(255, 255, 255)][SIZE=14px]假设我们需要将一张图片通过PHP程序加入到PDF中,示例代码如下:[/SIZE][/BGCOLOR][/COLOR][/FACE][/LINE-HEIGHT]
[LINE-HEIGHT=21px][FACE=DejaVu Sans][COLOR=rgb(68, 68, 68)][BGCOLOR=rgb(255, 255, 255)][SIZE=14px]示例二:使用PHP在PDF中增加一张图片[/SIZE][/BGCOLOR][/COLOR][/FACE][/LINE-HEIGHT]
[P][LINE-HEIGHT=21px][FACE=DejaVu Sans][COLOR=rgb(102, 102, 102)][BGCOLOR=rgb(247, 247, 247)][SIZE=14px][P][ol][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]require_once('../config/lang/eng.php');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]require_once('../tcpdf.php');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// create new PDF document
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// set document information
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetCreator(PDF_CREATOR);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetAuthor('Nicola Asuni');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetTitle('TCPDF Example 009');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetSubject('TCPDF Tutorial');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// set default header data
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// set header and footer fonts
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// set default monospaced font
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]//set margins
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]//set auto page breaks
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]//set image scale factor
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]//set some language-dependent strings
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->setLanguageArray($l);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// ---------------------------------------------------------
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// add a page $pdf->AddPage();
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// set JPEG quality
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->setJPEGQuality(75);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// Image example
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->Image('../images/image_demo.jpg', 50, 50, 100, 150, '', 'http://www.tcpdf.org', '', true, 150);
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]// ---------------------------------------------------------
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]//Close and output PDF document
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px]$pdf->Output('example_009.pdf', 'I'); ?>
[/SIZE][/FACE][/LINE-HEIGHT][/li][li][LINE-HEIGHT=1.8][FACE=Monaco, Consolas, ][SIZE=12px][/SIZE][/FACE][/LINE-HEIGHT][/li][/ol][/SIZE][/BGCOLOR][/COLOR][/FACE][/LINE-HEIGHT][/P][i]复制代码[/i][/P][P][SIZE=12px][COLOR=#336699]本文来自于诸侯快讯http://zhuhouwang.com[/COLOR][/SIZE][/P]
回复
1
电脑版
Page created in 0.0137 seconds with 2 queries.