【问题标题】:TCPDF integrated by Composer seems not to loadComposer 集成的 TCPDF 似乎无法加载
【发布时间】:2016-11-14 08:14:45
【问题描述】:

我遇到了一个错误,这显然是由 Composer 机制未包含 TCPDF 引起的。

情况如下:

致命错误:在第 24 行的 /var/www/r0byn/web/vendor/setasign/fpdi/fpdi_bridge.php 中找不到类“FPDF”

第 24 行:

if (!class_exists('TCPDF', false)) {

(我可以通过将第二个参数更改为:true 来解决此问题。但每次作曲家更新类时,都必须记住要执行此解决方法。不好。)

composer.json:

{
    "name": "i510c/tools510",
    "type": "project",
    "description": "",
    "license": "MIT",
    "require-dev": {
        "php": ">=5.5.0",
        "phpmailer/phpmailer": "~5.2",
        "gregwar/captcha": "~1.0.12",
        "phpunit/phpunit": "~4.5",
        "stefangabos/zebra_form": "2.9.8",
        "tecnickcom/tcpdf": "6.2.12",
        "setasign/fpdi": "1.6.1",
        "facebook/php-sdk-v4": "~5.0"
    },
    "autoload": {
        "psr-4": { "": ["application/core/", 
                        "application/model/",
                        "application/core/DAO/",
                        "application/core/Plugin/",
                        "application/core/Traits/",
                        "application/core/Exceptions"] }
    }
}

composer 生成的 autoload_classmap.php 包含 TCPDF 条目。 TCPDF 类的所有文件都存在于它们应该存在的地方。

我不知道为什么 class_exists() 没有检测到 TCPDF 类。有什么想法吗?

【问题讨论】:

  • 听起来像是一个关于自动加载功能的错误。如果您使用您的解决方法,它只是表明 class_exists 验证是否已通过自动加载包含 TCPDF。根据 composer.json 文件是。

标签: php composer-php tcpdf fpdi


【解决方案1】:

您没有 fpdf ,这是另一个库,可帮助您将 pdf 文档导入 tcpdf / fpdi 并在其上书写并生成新的 pdf。它们通常需要按 fpdf、fpdf、TCPDF 的顺序一起使用。

【讨论】:

  • 不,实际上TCPDF仅在FPDI的帮助下进行PDF导入,不需要FPDF。
  • 错误明确指出“找不到类'FPDF'”。所以你确实需要FPDF。这就是它的工作原理,使用 FPDF,您可以将 PDF 页面导入到 TCPDF,并在 FPDI 的帮助下,您可以在导入的 PDF 文档上书写。 FPDI 解析器可帮助您在 PDF 上编写 TCPDF。此外,如果您想导入超过 1.4 版的 PDF 页面,您需要商业版本的 FPDI,过去 3 年我一直在研究这种组合,是的,如果您想在现有的 PDF 文档上书写,您确实需要它们三者一起工作
  • 我当然不会质疑您的长期经验。我看到的事实: * 没有安装 FPDF * 通过将第二个参数更改为 true 它现在可以工作 * 我的脚本导入 PDF 并在其上写入,这就是预期的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-23
  • 1970-01-01
  • 1970-01-01
  • 2011-10-14
  • 2019-06-21
相关资源
最近更新 更多