Linux和Windows平台下PHP中PDF支持库的安装及应用案例_PHP
由于PDF文档有许多优势,因此广泛流行。而作为web界面方式中也可以通过使用脚本程序生成PDF文档。功能强大的PHP自然也可以实现。PHP中使用PDF需要安装了PDFlib才可。这里将带你讲述在不同平台中如何安装PDFlib,使您的PHP可以对PDF文档进行操作。
这里只讲述在Linux和Windows中的安装过程,其它平台中的UNIX和Linux中安装相似这里就不再单独叙述,MAC等平台由于使用的较少也不讲述。
一、安装前的准备
1.假设您的机器中已经安装好了Web服务器和PHP,这里的Linux服务器中安装的是Apache,Windows服务器中安装的是IIS。
2.下载所需要的软件:
PDFlib的下载(http://www.PDFlib.com)
Windows版本:pdflib-4.0.2-Windows.zip(http://www.pdflib.com/pdflib/download/pdflib-4.0.2-Windows.zip)
Linux版本源码:pdflib-4.0.2.tar.gz(http://www.pdflib.com/pdflib/download/pdflib-4.0.2.tar.gz)
#Linux版本已编译:pdflib-4.0.2-Linux.tar.gz(http://www.pdflib.com/pdflib/download/pdflib-4.0.2-Linux.tar.gz)
PHP的下载(http://www.php.net)
Windows完全版本:PHP 4.1.1 zip package(http://www.php.net/do_download.php?download_file=php-4.1.1-Win32.zip)
Linux版本源码:php-4.1.2.tar.gz(http://www.php.net/do_download.php?download_file=php-4.1.2.tar.gz)
二、Linux平台下的安装
将PDFlib文件和PHP文件下载,保存到/usr/local/src/这个目录中。(当前目录为/usr/local/src)
1.PDFlib的安装
过程:解压文件,配置,编译,安装
$ tar xvfz pdflib-*.tar.gz
$ cd pdflib-*
$ ./configure --with-share
$ make
$ make install
这样就将PDFlib安装到了,系统的"/usr/lib"这个目录中。在执行./configure时可以有的参数可以通过./configure --help查看。默认安装目录为"/usr/lib",默认安装中PHP的支持是打开的,因此不需要加参数"--with-php"
2.PHP的安装
因为我们假设您的系统中已经安装好apache+php,因此使用DSOs模式来安装PHP。
过程:重新配置PHP,编译,安装。建议在进行安装PHP的时候先停止Apache(apachectl stop),但这个步骤不是一定需要的。
$ cd ..
$ tar xvfz php-*.tar.gz
$ cd php-*
$ ./configure --with-apxs=/usr/local/httpd/bin/apxs --enable-gd-native-ttf --enable-gd-imgstrttf --with-tiff-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-pdflib=/usr/lib --enable-mysql
(注:其中的apache的路径为"/usr/local/httpd",如果您的不是,则填写您的apache的目录;如果你之前安装的pdflib安装到了别的目录,则将"/usr/lib"改为您安装的pdflib的目录;如果您还需要添加其它的PHP选项,直接添加在后面即可)
$ make
$ make install
这样就安装了PHP,且同时打开了pdflib。下面进行测试是否安装成功。
3.测试
★如果之前在安装PHP的时候停止了Apache,则需要先启动Apache(apachectl start);
★通过查看phpinfo是否安装成功,例如在DocumentRoot中的文件phpinfo.php。
phpinfo.php文件中的内容为:
phpinfo();
?>
在IE浏览器中查看链接:http://localhost/phpinfo.php
如果在结果页面中包含有以下内容则表明安装成功:
PDF Support enabled
PDFlib GmbH Version 4.0.2
Revision $Revision: 1.94.2.1 $
★复制PDFlib自带的测试文件(pdfclock.php)到你的DocumentRoot目录下的测试目录,例如:"/www/pdftest/"。
cp /usr/local/src/pdflib-*/bind/php/pdfclock.php /www/pdftest/.
在IE浏览器中查看链接:http://localhost/pdftest/pdfclock.php
如果执行成功,则恭喜您你的PHP已经可以支持pdf了。
注:您的系统中如安装有Acrobat Reader 4.0以上的版本,则看到IE会以插件的形式打开pdfclock.php生成的pdf文档,如果没有安装,则IE会提示下载这个pdf文档。
三、Windows平台下的安装
1.安装
注意由于PHP有两个版本,一个是简版只包含了mysql等默认扩展的支持,这里需要您下载完全版的,包含了全部的模块的文件。
下载Windows版本的PDFlib,将pdflib-4.0.2-Windows.zip解压到某个目录中,在目录"pdflib-4.0.2-Windows\bind\php"中有一些以PHP版本命名的目录,查看您的PHP版本,然后进入相应的目录,后将php_pdf.dll文件copy到你的php程序目录中的extensions目录(例如windows\system32)或者你不知道在哪个目录,直接搜索php_pdf.dll这个文件,查找到后,将上面解压目录中的php_pdf.dll文件复制到这里覆盖,如果提示文件存在,则选择覆盖。
2.修改php.ini文件
打开php.ini文件,找到这行:";extension=php_pdf.dll",将前面的分号去掉,然后保存。重新启动你的Web服务器(不是必须的)。
3.测试
★查看phpinfo.php文件
在IE浏览器中查看链接:http://localhost/phpinfo.php
如果在结果页面中包含有以下内容则表明安装成功:
PDF Support enabled
PDFlib GmbH Version 4.0.2
Revision $Revision: 1.94.2.1 $
★将目录"pdflib-4.0.2-Windows\bind\php"中的pdfclock.php文件复制到你的web根目录中或其某个自目录中,(例如D:\web\pdftest),然后在IE浏览器中查看,链接:http://localhost/pdftest/pdfclock.php
如果执行成功,则恭喜您你的PHP已经可以支持pdf了。
四、安装中的问题和注意事项
1.PDFlib需要 JPEG库 和 TIFF库 的支持;
2.在浏览器中测试时,如果页面中出现乱码,则很有可能是由于测试文件中有错误,不一定是系统安装的问题;
3.在Windows中有可能会出现提示找不到php_pdf.dll这个文件,是由于您将php_pdf.dll文件没有copy到extensions目录中,这个目录的位置是在php.ini中设置的,可以使用相对路径。其次或者是没有将解压后的php_pdf.dll文件覆盖原PHP自带的php_pdf.dll这个文件;
4.建议PDFlib和PHP等尽量使用最新的版本;
五、结束语
PDF从他诞生起就有着先天的优势,以及当今广泛的使用使PDF非常流行的出版物发行。而PHP中使用PDF所用到的库用的最多的就是PDFlib这个库。当然还有一个也可以使PHP操作PDF的库:ClibPDF(http://www.fastio.com/),这个和PDFlib非常相似,包括在PHP中使用的函数都很相似。但唯一遗憾的是,这两个库都需要purchase a license(购买版权)。否则会在您生成的PDF文档的每个页面中有他们标示的底字。这里就不再ClibPDF这个库的安装,因为他们的安装相似。
在Web中应用PDF,您可以立即让您的网站发布标准出版物的网站。
附录:
如果您不希望每个页面中都包含www.pdflib.com这样的底纹字,则在编译之前,打开这个文件pdflib/pdflib.rc,修改第47行中的:
VALUE "Comments", "www.pdflib.com\0"
改为:
VALUE "Comments", " \0"
然后再配置,编译......。