1

我正在使用 FPDF 库来生成 PDF。

在某些时候,我将图像包含到 pdf 中(在标题中)并执行以下操作:

require_once APPPATH . '../vendor/setasign/fpdf/fpdf.php';

class cifpdf extends FPDF {

public function __construct($params = array())
{
    $this->CI = &get_instance();

    $orientation = array_key_exists('orientation', $params) ? $params['orientation'] : 'P';
    $mesure = array_key_exists('mesure', $params) ? $params['mesure'] : 'mm';
    $format = array_key_exists('format', $params) ? $params['format'] : 'A5';

    parent::__construct($orientation, $mesure, $format);
}

public function Header()
{
    $logo = base_url('assets/promoters-landingpage/img/logo-inverted.png');
    // Logo
    $this->Image($logo, 10, 6, 30);

    $this->Rect(10, 17, 129, 0.1);
    // Saut de ligne
    $this->Ln(10);
}

我的问题来自$this->Image($logo, 10, 6, 30);线路

查看 pdf 供应商库中的 Image 函数,我尝试调试并发现错误来自这部分:

function Image($file, $x=null, $y=null, $w=0, $h=0, $type='', $link='')
{
    // Some Code
    if(!isset($this->images[$file]))
    {
        // Some Code

        $type = strtolower($type);
        if($type=='jpeg')
            $type = 'jpg';
        $mtd = '_parse'.$type;
        if(!method_exists($this,$mtd))
            $this->Error('Unsupported image type: '.$type);
        $info = $this->$mtd($file);
        // Some Code
    }

    // Some Code
}

所以导致超时错误的确切行是$info = $this->$mtd($file);(库中的第 885 行)。

我不确定 $mtd 是什么?它似乎在上面定义了几行,$mtd = '_parse'.$type;但它们没有将其与 $this 关联。不知道这是什么。

我正在使用 Nginx。同一段代码在 Apache 2 上运行良好。

谢谢你的支持。

4

0 回答 0