使用PHP创建和修改PDF文档_PHP教程

php中文网
发布: 2016-07-15 13:29:38
原创
1428人浏览过

php100译稿】pdf全称portable document format,译为可移植文档格式,是adobe公司推出的便携文档格式。pdf具有与操作系统无关的特性,这一性能使它成为在internet上进行电子文档发行和数字化信息传播的理想文档格式。今天我们来讨论如何使用php创建pdf文档,以及使用php修改pdf。

要想在PHP中使用PDF文档,我们需要用到TCPDF包,一个PHP用来读取PDF的类。

PHP创建PDF文档

你可以从下面给出的链接下载TCPDF包。

TCPDF - PHP class for PDF:http://sourceforge.net/projects/tcpdf/files/

立即学习PHP免费学习笔记(深入)”;

这是一个免费且易用的插件包,下面我们给出一些示例来演示如何使用TCPDF包。

示例一:使用PHP生成一个简单的PDF文档

图改改
图改改

在线修改图片文字

图改改 455
查看详情 图改改
<OL class=dp-c><LI class=alt><SPAN><SPAN><?php  </SPAN></SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=keyword>require_once</SPAN><SPAN>(</SPAN><SPAN class=string>'../config/lang/eng.php'</SPAN><SPAN>);  </SPAN><LI><SPAN class=keyword>require_once</SPAN><SPAN>(</SPAN><SPAN class=string>'../tcpdf.php'</SPAN><SPAN>);  </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>// create new PDF document </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN> = </SPAN><SPAN class=keyword>new</SPAN><SPAN> TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, </SPAN><SPAN class=string>'UTF-8'</SPAN><SPAN>, false);   </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>// set document information </SPAN><SPAN> </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->SetCreator(PDF_CREATOR);  </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->SetAuthor(</SPAN><SPAN class=string>'Nicola Asuni'</SPAN><SPAN>);  </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->SetTitle(</SPAN><SPAN class=string>'TCPDF Example 002'</SPAN><SPAN>);  </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->SetSubject(</SPAN><SPAN class=string>'TCPDF Tutorial'</SPAN><SPAN>);  </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->SetKeywords(</SPAN><SPAN class=string>'TCPDF, PDF, example, test, guide'</SPAN><SPAN>);  </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>// remove default header/footer </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->setPrintHeader(false);  </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->setPrintFooter(false);  </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>// set default monospaced font </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);  </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>//set margins </SPAN><SPAN> </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);  </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>//set auto page breaks </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);  </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>//set image scale factor </SPAN><SPAN> </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->setImageScale(PDF_IMAGE_SCALE_RATIO);   </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>//set some language-dependent strings </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->setLanguageArray(</SPAN><SPAN class=vars>$l</SPAN><SPAN>);   </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>// --------------------------------------------------------- </SPAN><SPAN> </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>// set font </SPAN><SPAN> </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->SetFont(</SPAN><SPAN class=string>'times'</SPAN><SPAN>, </SPAN><SPAN class=string>'BI'</SPAN><SPAN>, 20);  </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>// add a page </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->AddPage();  </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>// print a line using Cell() </SPAN><SPAN> </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->Cell(0, 10, </SPAN><SPAN class=string>'Example 002'</SPAN><SPAN>, 1, 1, </SPAN><SPAN class=string>'C'</SPAN><SPAN>);  </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>// --------------------------------------------------------- </SPAN><SPAN> </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>//Close and output PDF document </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->Output(</SPAN><SPAN class=string>'example_002.pdf'</SPAN><SPAN>, </SPAN><SPAN class=string>'I'</SPAN><SPAN>);  </SPAN><LI><SPAN>?> </SPAN></LI></OL>
登录后复制

使用PHP修改PDF文档

下面我们讨论如何使用PHP修改PDF文档。假设我们需要将一张图片通过PHP程序加入到PDF中,示例代码如下:

示例二:使用PHP在PDF中增加一张图片

<OL class=dp-c><LI class=alt><SPAN><SPAN><?php  </SPAN></SPAN><LI><SPAN class=keyword>require_once</SPAN><SPAN>(</SPAN><SPAN class=string>'../config/lang/eng.php'</SPAN><SPAN>);  </SPAN><LI class=alt><SPAN class=keyword>require_once</SPAN><SPAN>(</SPAN><SPAN class=string>'../tcpdf.php'</SPAN><SPAN>);  </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>// create new PDF document </SPAN><SPAN> </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN> = </SPAN><SPAN class=keyword>new</SPAN><SPAN> TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, </SPAN><SPAN class=string>'UTF-8'</SPAN><SPAN>, false);   </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>// set document information </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->SetCreator(PDF_CREATOR);  </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->SetAuthor(</SPAN><SPAN class=string>'Nicola Asuni'</SPAN><SPAN>);  </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->SetTitle(</SPAN><SPAN class=string>'TCPDF Example 009'</SPAN><SPAN>);  </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->SetSubject(</SPAN><SPAN class=string>'TCPDF Tutorial'</SPAN><SPAN>);  </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->SetKeywords(</SPAN><SPAN class=string>'TCPDF, PDF, example, test, guide'</SPAN><SPAN>);  </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>// set default header data </SPAN><SPAN> </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);  </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>// set header and footer fonts </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->setHeaderFont(Array(PDF_FONT_NAME_MAIN, </SPAN><SPAN class=string>''</SPAN><SPAN>, PDF_FONT_SIZE_MAIN));  </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->setFooterFont(Array(PDF_FONT_NAME_DATA, </SPAN><SPAN class=string>''</SPAN><SPAN>, PDF_FONT_SIZE_DATA));  </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>// set default monospaced font </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);  </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>//set margins </SPAN><SPAN> </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);  </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->SetHeaderMargin(PDF_MARGIN_HEADER);  </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->SetFooterMargin(PDF_MARGIN_FOOTER);  </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>//set auto page breaks </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);  </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>//set image scale factor </SPAN><SPAN> </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->setImageScale(PDF_IMAGE_SCALE_RATIO);   </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>//set some language-dependent strings </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->setLanguageArray(</SPAN><SPAN class=vars>$l</SPAN><SPAN>);   </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>// --------------------------------------------------------- </SPAN><SPAN> </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>// add a page </SPAN><SPAN> </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->AddPage();  </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>// set JPEG quality </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->setJPEGQuality(75);  </SPAN><LI><SPAN> </SPAN><LI class=alt><SPAN class=comment>// Image example </SPAN><SPAN> </SPAN><LI><SPAN class=vars>$pdf</SPAN><SPAN>->Image(</SPAN><SPAN class=string>'../images/image_demo.jpg'</SPAN><SPAN>, 50, 50, 100, 150, </SPAN><SPAN class=string>''</SPAN><SPAN>, </SPAN><SPAN class=string>'http://www.tcpdf.org'</SPAN><SPAN>, </SPAN><SPAN class=string>''</SPAN><SPAN>, true, 150);  </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>// --------------------------------------------------------- </SPAN><SPAN> </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=comment>//Close and output PDF document </SPAN><SPAN> </SPAN><LI class=alt><SPAN class=vars>$pdf</SPAN><SPAN>->Output(</SPAN><SPAN class=string>'example_009.pdf'</SPAN><SPAN>, </SPAN><SPAN class=string>'I'</SPAN><SPAN>);  </SPAN><LI><SPAN>?> </SPAN></LI></OL>
登录后复制

更多关于TCPDF - PHP class for PDF的示例可以参考:

http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf_examples

同时,你也可以使用TCPDF的基础属性进行PDF文档的管理。如果你想自己开发一个PHP的PDF文档类,可以参考PHP文档中关于PDF的一些函数介绍:http://www.php.net/manual/en/ref.pdf.php


 


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446362.htmlTechArticle【php100译稿】PDF全称Portable Document Format,译为可移植文档格式,是Adobe公司推出的便携文档格式。PDF具有与操作系统无关的特性,这一性能...
相关标签:
WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号