itbz/fpdf

该软件包已被弃用且不再维护。作者建议使用 setasign/fpdf 软件包。

FPDF 库的非官方 PSR-0 兼容版本

1.7.3 2016-05-27 09:02 UTC

This package is not auto-updated.

Last update: 2019-02-20 17:13:26 UTC


README

注意:此软件包已停止开发,将不会更新。请参见 https://github.com/Setasign/FPDF

FPDF

Latest Stable Version

FPDF 库的非官方 PSR-0 兼容版本

这是带有一些小更改的 1.7 版本

  • 库在 fpdf 命名空间中。要创建实例,使用

    $fpdf = new \fpdf\FPDF();

  • 目录结构遵循 PSR-0 标准,以 src/ 为根目录

  • 在错误发生时,将抛出 RuntimeException 而不是让 lib 剧烈崩溃

  • 构造函数重命名为 __construct 而不是 FPDF

使用 composer 安装

该软件包在 packagist 存储库中以 itbz/fpdf 存在。

FPDF_EXTENDED

此软件包还包含一些破坏向后兼容性的扩展。要访问增强功能,请使用 FPDF_EXTENDED 而不是 FPDF

  • FPDF_EXTENDED 预期所有输入均为 UTF-8 编码。FPDF 默认期望所有输入均为 ISO-8859-1 编码,并建议在处理 UTF-8 编码的字符串时使用 utf8_decode()。

  • FPDF 使用一种有些奇怪的语法来打印 PDF 中的总页数。FPDF_EXTENDED 定义了两种方法来处理此问题。 TotalPagesNo() 返回一个将在输出时替换为总页数的字符串。 PaginationStr() 接受一个可选的分隔符(默认为 '/') 并返回 '{当前页} / {总页数}'。

  • 调用 AliasNbPages() 已不再必要。

  • 您可以使用 setImagePath()image() 设置图像路径,并且 image() 将能够理解相对路径。

  • FPDF_EXTENDED 优雅地处理缺少的字体样式。如果一个字体仅定义(添加)为一种样式(例如粗体)并且您尝试使用另一种(例如斜体),则 FPDF_EXTENDED 将回退到定义的样式(例如粗体)。常规样式具有优先权。

  • FPDF_EXTENDED 定义了 moveX()moveY() 来移动光标,除了 FPDF 的 setX()setY()

  • FPDF_EXTENDED 类可以定义 draw()。draw 在 pdf 渲染之前被调用。在此可以进行操作,在 pdf 创建之前。

  • FPDF_EXTENDED 定义 GetPdf() 作为输出 pdf 为原始字符串的快捷方式。

  • 从版本 1.7.2 开始,FPDF_EXTENDED 定义了 WriteXY() 用于写入指定位置。