前面总结归纳了一下 FPDF 的中文应用攻略,可以看到FPDF的功能确实很强大,但它是如何实现 PDF 文件生成的呢,戒烟如你决定深入研究一下它的代码,以求对其进行改进,应用到自己的项目中。
FPDF 实际上是一个类,由于该类在 PHP 4 和 5 下都能正常运行,那么戒烟如你就从 PHP 4 的角度来分析它。首先从类的属性、构造函数开始,然后按类的公共方法的顺序进行分析,遇到调用其他方法的时候将其提前进行分析。
首先来看类的属性:
PHP代码
- 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 版本号
这里把注释换成了中文的,仅供参考吧!

