热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

由于PDF文档有许多优势,因此广泛流行。而作为web界面方式中也可以通过使用脚本程序生成PDF文档。功能强大的PHP自然也可以实现。PHP中使用PDF需要安装了PDFlib才可。这里将带你讲述在不同平台中如何安装PDFlib,使您的PHP可以对PDF文档进行操作。这里只讲述在Linux和W
EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Linux和Windows平台下PHP中PDF支持库的安装及应用案例
时间:2006-02-27 00:00 来源:网管之家bitsCN.com 字体:[ ] 评论:
标签: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"

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


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]

author-avatar
ccmm6688
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有