快速业务通道

PHP生成pdf文档之fpdf代码研究

作者 佚名技术 来源 CSS编程 浏览 发布时间 2012-05-26

   FPDF的功能确实很强大,但它是如何实现 PDF 文件生成的呢,我决定深入研究一下它的代码,以求对其进行改进,应用到自己的项目中。

  FPDF 实际上是一个类,由于该类在 php 4 和 5 下都能正常运行,那么就从 PHP 4 的角度来分析它。首先从类的属性、构造函数开始,然后按类的公共方法的顺序进行分析,遇到调用其他方法的时候将其提前进行分析。

  首先来看类的属性:

  var $page; // 当前页数

  var $n; // 当前对象数

  var $offsets; //array of object offsets

  var $buffer; // PDF 缓存

  var $pages; // 包含页数的数组

  var $state; // 当前文档状态

  var $compress; // 压缩标记

  var $k; // 比例因子(用户指定单位内的点)

  var $DefOrientation; // 默认方向

  var $CurOrientation; // 当前方向

  var $PageFormats; // 可用的页格式

  var $DefPageFormat; // 默认的页格式

  var $CurPageFormat; // 当前的页格式

  var $PageSizes; // 保存非默认页面大小的数组

  var $wPt,$hPt; // 用点表示的当前页尺寸

  var $w,$h; // 用户指定单位表示的当前页尺寸

  var $lMargin; // 页面左边距

  var $tMargin; // 页面上边距

  var $rMargin; // 页面右边距

  var $bMargin; // 换页边距

  var $cMargin; // 内部单元边距

  var $x,$y; // 用户单位表示的当前坐标

  var $lasth; // 最近输出单元的高度

  var $LineWidth; // 用户单位表示的线宽,即粗细

  var $CoreFonts; // 标准字体名称的数组

  var $fonts; // 用到的字体的数组

  var $FontFiles; // 字体文件的数组

  var $diffs; // 编码差异的数组

  var $FontFamily; // 当前字体

  var $FontStyle; // 当前字体样式

  var $underline; // 下划线标记

  var $CurrentFont; // 当前字体信息

  var $FontSizePt; // 用点表示当前字体大小

  var $FontSize; // 用户单位表示当前字体大小

  var $DrawColor; // 绘图颜色指令

  var $FillColor; // 填充颜色指令

  var $TextColor; // 文字颜色指令

  var $ColorFlag; // 指出填充颜色和文字颜色是否不同

  var $ws; // 文字间距

  var $images; // 用到的图片的数组

  var $PageLinks; // 页面链接的数组

  var $links; // 内部链接的数组

  var $AutoPageBreak; // 自动分页

  var $PageBreakTrigger; // 自动分页的触发值,即最大内容高度

  var $InHeader; // 处理页眉时的标记

  var $InFooter; // 处理页脚时的标记

  var $ZoomMode; // 显示时的缩放模式

  var $LayoutMode; // 分页显示模式

  var $title; // 文件标题

  var $subject; // 文件主题

  var $author; // 文件作者

  var $keywords; // 文件关键词

  var $creator; // 应用程序,不知道啥意思,PDF属性里的

  var $AliasNbPages; // 页面总数的别名,用于在该位置显示页面总数

  var $PDFVersion; // PDF 版本号

  这里把注释换成了中文的,仅供参考吧!

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号