首页 >后端开发 >php教程 >Linux和Windows平台下PHP中PDF支持库的安装及应用案例_PHP

Linux和Windows平台下PHP中PDF支持库的安装及应用案例_PHP

WBOY
WBOY原创
2016-06-01 12:35:451248浏览

PDF

由于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

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

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"

然后再配置,编译......。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn