首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到PHPExcel + mPDF类'Mpdf‘

找不到PHPExcel + mPDF类'Mpdf‘
EN

Stack Overflow用户
提问于 2017-11-02 01:22:34
回答 3查看 1.8K关注 0票数 1

创建tcPDF文件为800+kB但完全为空/白色后,我查看了Composer和mPDF。已安装在本地计算机上,并将文件夹'vendor‘复制到我的网站空间。

我的文件结构:

代码语言:javascript
复制
/WWW/class/my-own-classes
          /PHPExcel
          /vendor/composer
          /vendor/mpdf/mpdf
    /project1/../../../executing-file.php
    /project2/

我结合了我之前的自动加载器加上类似作曲者的自动加载器。

代码语言:javascript
复制
require_once '../../DomainNameClass.php';
spl_autoload_register(function($class) {
    $path = New DomainName("project","intern");
    if($class == 'PHPExcel') {
        require_once $path->classPath . $class . '.php';
    } 
    elseif ( file_exists( $path->classPath . strtolower($class) . 'Class.php' ) ) {
        require_once $path->classPath . strtolower($class) . 'Class.php';
    }
});

$path = New DomainName("dinelco","intern");
require $path -> classPath . "/vendor/autoload.php";

在我的PHPExcel-Helper类中:

代码语言:javascript
复制
private function setMPDF() {
        $this->rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF;
        $this->rendererLibrary = 'mpdf7.0.0';
        $this->rendererLibraryPath = dirname(__FILE__).'/vendor/mpdf/mpdf/src';
    }

如果找不到此文件,来自PHPExcel的mPDF.php将抛出异常。因为现在我没有得到异常,所以我假设我的路径是正确的。

但是:来自PHPExcel/mPDF.php的测试回显对我来说很好:

代码语言:javascript
复制
"found: /is/htdocs/something/www/class/vendor/mpdf/mpdf/src/Mpdf.php" 

然后:

代码语言:javascript
复制
Fatal error: Class 'Mpdf' not found in /is/htdocs/something/www/class/PHPExcel/Writer/PDF/mPDF.php on line 96

在Github mPDF上我读到了关于版本的内容,但我得到了最后一个稳定版本(7.0),它应该被称为"new mPDF();“,而不是"new \Mpdf\Mpdf();”,但这也不起作用。

现在要找几个小时。我的错误在哪里?

EN

回答 3

Stack Overflow用户

发布于 2018-05-30 13:02:56

据我所知,你必须使用

代码语言:javascript
复制
$mpdf = new \Mpdf\Mpdf();

而不是

代码语言:javascript
复制
$mpdf = new Mpdf();

在我的例子中,它起作用了。

票数 0
EN

Stack Overflow用户

发布于 2018-09-04 01:35:02

我是这样工作的。

代码语言:javascript
复制
    try {
        $mpdf = new Mpdf();
    } catch (MpdfException $e) {
        return $e->getMessage();
    }
票数 0
EN

Stack Overflow用户

发布于 2019-06-12 16:52:24

如果您使用composer安装MPDF,则需要在PHP代码中指明:

代码语言:javascript
复制
 use \Mpdf\Mpdf;

然后,您可以使用:

代码语言:javascript
复制
$myMpdfVar = new Mpdf();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47060401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档