【问题标题】:How to use PHP libraries whithout composer (FPDI with FPDI protection)如何在没有作曲家的情况下使用 PHP 库(具有 FPDI 保护的 FPDF)
【发布时间】:2023-03-03 17:53:01
【问题描述】:

我在没有作曲家的情况下使用FPDI,所以我的文件如下所示:

...
use \setasign\Fpdi;
require_once($_SERVER['DOCUMENT_ROOT'].'/fpdf/fpdf.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/fpdi2/src/autoload.php');

// initiate FPDI
$pdf = new Fpdi\Fpdi();
...

我想添加FPDI Protection 来保护我刚刚生成的PDF

但在他们的自述文件中,它只显示了使用 composer 时要遵循的过程

use setasign\FpdiProtection\FpdiProtection;

// setup the autoload function
require_once('vendor/autoload.php');

$pdf = new FpdiProtection();
$ownerPassword = $pdf->setProtection(
    FpdiProtection::PERM_PRINT | FpdiProtection::PERM_COPY,
    'the user password',
    'the owner password'
);

如何使用 FPDI 保护使 FPDI 未初始化?我不明白该怎么做..

【问题讨论】:

  • 我认为你错了:包括自动加载器意味着你没有使用作曲家。
  • @KIKOSoftware 即使使用作曲家,您也必须以一种或另一种方式包含/要求文件。由 Composer 创建的 vendor/autoload.php 文件包含引导程序以加载已安装的所有供应商软件包的所有文件。可通过安装时生成的composer.lock 文件进行检查。

标签: php composer-php fpdf fpdi


【解决方案1】:

记录在案here:

如果你不使用composer,只需要/src文件夹中的autoload.php:

require_once('src/autoload.php');

如果您实现了 PSR-4 自动加载器,只需按如下方式注册 src 路径:

$loader = new \Example\Psr4AutoloaderClass;
$loader->register();
$loader->addNamespace('setasign\FpdiProtection', 'path/to/src/');

所以在你的情况下,只需要来自 FPDI 和 FPDI 保护的 autoload.php 文件:

use setasign\FpdiProtection\FpdiProtection;

require_once($_SERVER['DOCUMENT_ROOT'].'/fpdf/fpdf.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/fpdi2/src/autoload.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/fpdi_protection/src/autoload.php');

$pdf = new FpdiProtection();
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-16
    • 2014-12-10
    • 2018-10-01
    • 2019-07-09
    • 2021-03-15
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多