此包已被废弃,不再维护。作者建议使用 setasign/fpdi 包。

FPDF 库,允许使用纯 PHP 生成 PDF 文件

1.2.0 2017-12-11 15:07 UTC

This package is auto-updated.

Last update: 2022-02-01 13:11:19 UTC


README

设置库

开始之前

您需要下载并安装 composer

(注意:此项目与 composer 团队无关,因此他们可以更改下载和使用的方式。请参考 getcomposer.org 获取有关如何获取 composer 的最新更新)

php -r "copy('https://getcomposer.org.cn/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"

现在您已经有了 composer.phar 文件,您可以将其移动到您的项目文件夹中,以便将其用作项目的一部分

mv composer.phar /path/to/your/project/root/composer.phar

php composer.phar -V

(注意:您的 composer.phar 文件应添加到您的 .gitignore 文件中,因为它不是与您的项目相关的文件)

或者您可以将其作为全局系统二进制文件移动(如何安装的过程基于此方法)

mv composer.phar /usr/bin/composer

composer -V

安装

只需将您的包包含在 composer.json 文件中

{
    "require": {
        "david-garcia/fpdf": "^1.1"
    }
}

然后运行 composer 命令以安装依赖项

composer install

或者您可以直接 require 包以自动处理所有内容

composer require david-garcia/fpdf

使用

步骤 1. 包含 composer 自动加载

require "vendor/autoload.php";

步骤 2. 包含对 FPDFuse 语句

use DavidGarciaCat\FPDF\FPDF;

步骤 3. 创建 PDF 文件

$fpdf = new new FPDF();
$fpdf->output();

脚本

FPDF 允许构建和实现脚本以扩展和增强使用库的体验。

该项目正在将 FPDF 网站上目前发布的脚本作为设计模式装饰器实现。只需将主库设置为外观,然后在任何装饰器构造函数中注入它即可

use DavidGarciaCat\FPDF\FPDF;
use DavidGarciaCat\FPDF\Script\BookmarkDecorator;

$fpdf = new BookmarkDecorator(new FPDF());

什么是 FPDF?

FPDF 是一个 PHP 类,允许使用纯 PHP 生成 PDF 文件,即不使用 PDFlib 库。FPDF 中的 F 代表 Free:您可以使用它进行任何类型的用途并修改它以满足您的需求。

FPDF 有其他优势:高级功能。以下是其主要功能列表

  • 选择度量单位、页面格式和页边距
  • 管理页面页眉和页脚
  • 自动分页
  • 自动换行和文本对齐
  • 图像支持(JPEG、PNG 和 GIF)
  • 颜色
  • 链接
  • 支持 TrueType、Type1 和编码
  • 页面压缩

FPDF 不需要扩展(除了 Zlib 以启用压缩和 GD 以支持 GIF)。最新版本至少需要 PHP 5.1,然而此项目基于 PHP 5.5 或更高版本。

请浏览 www.fpdf.org 了解教程和文档。教程将为您提供快速入门。完整的在线文档可在网上获取,您还可以将其下载为多种语言。强烈建议您阅读 FAQ,其中列出了最常见的常见问题和问题。

脚本部分可用,并提供一些有用的扩展(如书签、旋转、表格、条形码等)。

待办事项

  • 原生提供所有FPDF脚本
    FPDF有多个脚本,但我们需要手动下载并包含它们,才能使用。该项目已经将FPDF代码移动到命名空间,并开始包含其他FPDF脚本,然而真正的目标是将这些功能原生地包含在项目中。
  • Scrutinizer CI 代码覆盖率
    基础FPDF源代码,可在www.fpdf.org网站下载,不包含自动化测试,因此没有代码覆盖率。该项目希望提供测试,以提高代码质量,并为我们所有人都希望的项目提供预期的保证。
  • Scrutinizer CI 代码评分
    基础FPDF和FPDF脚本可能没有以正确的方式设计,由于复杂性高和一些遗漏的检查,代码评分真的很低。该项目希望提高代码质量。