首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>PHP专区>编程技巧>PHP程序开发利用PDFLib扩展模块动态产生PDF格式的文件
PHP程序开发利用PDFLib扩展模块动态产生PDF格式的文件
来源: 发布时间:2008-06-28 发布人: 浏览: 人次   字体: [ ]  

  是不是很简单?PDF_open_image_file()函数打开一个图形文件,可以接受的图象类型有:GIF, JPEG, TIFF 和 PNG,该函数返回图象句柄,PDF_place_image()函数利用前面的图象句柄,把图象插入到PDF文档中。注意这里的坐标位置是指图象的左下角,最后一个参数是图象显示时的比例因子,1是与实际大小一样显示,0.5是按原来尺寸的一半显示。

  除了在PDF文档里画出现有的图象以外,PDF模块还提供了许多函数来让我们画出几何图形。比如:直线、圆、长方形等几何图案,下面就是一段画直线的实现方法:

 $pdf = PDF_new();
  PDF_open_file($pdf, "LineExam.pdf");
  PDF_begin_page($pdf, 595, 842);
  $arial = PDF_findfont($pdf, "Arial", "host", 1);
  PDF_setfont($pdf, $arial, 12);
  // 设定直线的颜色
  PDF_setcolor($pdf, "stroke", "rgb", 0, 0, 0);
  // 在左上角放置一个Logo标识
  $image = PDF_open_image_file($pdf, "jpeg", "logo.jpg");
  PDF_place_image($pdf, $image, 50, 785, 0.5);
  // 在Logo标识下画出直线
  PDF_moveto($pdf, 20, 780);
  PDF_lineto($pdf, 575, 780);
  PDF_stroke($pdf);
  // 在页面底部画出另外一条直线
  PDF_moveto($pdf, 20,50);
  PDF_lineto($pdf, 575, 50);
  PDF_stroke($pdf);
  // 输出一些文字
  PDF_show_xy($pdf, "Meng's Corporation", 200, 35);
  PDF_end_page($pdf);
  PDF_close($pdf);
  ?>

  从上面的例子可以看出,要画一条直线,只需要三个函数即可:PDF_moveto(), PDF_lineto() 和 PDF_stroke()。上面的例子是先用PDF_moveto($pdf, 20, 780)函数把光标移动到坐标(20,780),然后用PDF_lineto($pdf, 575, 780)函数定义直线的另外一个点的坐标(575,780),最后用PDF_stroke($pdf)画出线。设定颜色的函数PDF_setcolor($pdf, "stroke", "rgb", 0, 0, 0)有好几个参数,其中的颜色填充模式有stroke、fill、both三种选项,颜色可以是RGB或CMYK配色方案的颜色值。值得注意的是:PDF_setcolor()函数中使用的值是颜色的百分比,也就是说是该颜色的亮度,比如:如果想设为红色(RGB:255,0,0),你可以这样写:PDF_setcolor($pdf, "stroke", "rgb", 1, 0, 0),如果想设为黄色,可以这样:PDF_setcolor($pdf, "stroke", "rgb", 1, 1, 0)。

  要想画带填充色的长方形和圆形,可以使用下面的方法:

  //设定填充颜色
  PDF_setcolor($pdf, "fill", "rgb", 1, 1, 0);
  // 设定边框线的颜色
  PDF_setcolor($pdf, "stroke", "rgb", 0, 0, 0);
  // 画矩形,后面的四个参数分别是左下角的坐标X、Y和宽度、高度
  PDF_rect($pdf, 50, 500, 200, 300);
  PDF_fill_stroke($pdf);
  PDF_setcolor($pdf, "fill", "rgb", 0, 1, 0);
  PDF_setcolor($pdf, "stroke", "rgb", 0, 0, 1);
  // 画出圆,参数分别是圆心坐标和圆的半径
  PDF_circle($pdf, 400, 600, 100)

  此外,PDFLib还提供了书写文档摘要信息的函数,这些函数以PDF_set_info_*()开头,这些信息可以包括:文档的作者、标题、内容,主题等。下面是几个常用的函数:

  PDF_set_info_author($pdf, "net_lover");
  PDF_set_info_creator($pdf, "Meng Xianhui");
  PDF_set_info_title($pdf, "PHP Exam");
  PDF_set_info_subject($pdf, "PHP");
  PDF_set_info_keywords($pdf, "PHP PDF PDFLib");

  当用Acrobat Reader打开这样的文档时,在菜单“文件”-“文档属性”-“摘要”里就能看到上面写进去的信息。

  说到这里,相信大家对如何使用PDFLib创建PDF文档有了基本的了解了吧。下面,我们就以一个实际的例子来看看如何为我们的工作服务。这个例子就是根据提供的数据来生成饼图,首先,建立一个数据输入表单,输入饼图中每一块的大小。文件如下:

<html>
  <head>
   <title>利用PHP创建PDF文档(饼图)</title>
  </head>
  <body>
   <h3>饼图生成器</h3>
   <table cellspacing="5" cellpadding="5">
    <form action="pie.php" method=POST>
    <tr>
    <td>请输入饼图中每一块的数据值,以(,)分割开:</td></tr>
    <tr><td><input type=text name=data></td></tr>
    <tr><td><input type=submit value="产生PDF饼图"></td></tr>
    </form>
   </table>
  </body>
  </html>
  下面是pie.php文件的代码:


共3页: 上一页 [1] 2 [3] 下一页
相 关 文 章   发布商链接
·PHP利用Jmai组件实现邮件的发送代码
·实例讲解php实现中文水印的代码
·PHP是如何设置COOKIE的保留时间为浏...
·PHP读取站点的链接函数代码实例
·实例讲解PHP原生代码生成RSS文档
·利用PHP制作简单的内容采集器
·用PHP来构建自定义搜索引擎
·用PHP程序直接调用文本文件内容实例
·如何用PHP对文本文件加密并限制特定...
·PHP实现Mysql远程同步代码
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·实例讲解PHP原生代码生成RSS...
·PHP读取站点的链接函数代码实
·PHP是如何设置COOKIE的保留时
·实例讲解php实现中文水印的代
·PHP利用Jmai组件实现邮件的发
·PHP实现Mysql远程同步代码
·如何用PHP对文本文件加密并限
·用PHP程序直接调用文本文件内
·用PHP来构建自定义搜索引擎
·利用PHP制作简单的内容采集器
热 门 文 章
·PHP实现Mysql远程同步代码
·用PHP来构建自定义搜索引擎
·如何用PHP对文本文件加密并限...
·PHP利用Jmai组件实现邮件的发...
·利用PHP制作简单的内容采集器
·实例讲解php实现中文水印的代...
·用PHP程序直接调用文本文件内...
·实例讲解PHP原生代码生成RSS...
·PHP读取站点的链接函数代码实...
·PHP是如何设置COOKIE的保留时...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .