找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1581|回复: 0
打印 上一主题 下一主题

使用FPDF生成PDF文件代码分析

[复制链接]

2649

主题

2649

帖子

7875

积分

论坛元老

Rank: 8Rank: 8

积分
7875
跳转到指定楼层
楼主
发表于 2018-2-18 04:47:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                    FPDF的功能确实很强大,但它是如何实现PDF文件生成的呢,我决定深入分析一下它的代码,以求对其进行改进,应用到自己的项目中。
  FPDF实际上是一个类,由于该类在php4和5下都能正常运行,那么就从PHP4的角度来分析它。首先从类的属性、构造函数开始,然后按类的公共方法的顺序进行分析,遇到调用其他方法的时候将其提前进行分析。
  首先来看类的属性:
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 版本号   
这里把注释换成了中文的,仅供参考吧!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端