scragg0x/fpdf

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

1.7.3 2015-01-05 22:05 UTC

This package is not auto-updated.

Last update: 2024-09-24 15:59:20 UTC


README

Latest Stable Version

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

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

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

    $fpdf = new \fpdf\FPDF();

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

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

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

使用 composer 安装

该包作为 itbz/fpdf 存在于 packagist 存储库中。

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() 用于写入指定位置。