2013-08-26 32 views
0

我正在使用TCPDF(最新版本 - 6.0.023)生成PDF。在文档的标题中,我显示了一个徽标(以JPEG或PNG格式)。事实证明,当使用'大'图像(> 30KB)时,TCPDF会生成损坏的PDF文件。当显示“大”图像时,T​​CPDF生成损坏的文件

这是显示图像的代码:

<?php 
public function Header() { 
    // $this->headerLeftLogo = '@' . $image; 
    // $this->logoHeight = 8; 
    $type = (...some check...) ? 'JPEG' : 'PNG'; 
    $this->Image($this->headerLeftLogo, $this->getX(), $this->getY(), 0, $this->logoHeight, $type); 
} 
?> 

检查生成的PDF的源代码,并比较好的和损坏的PDF后,好像腐败的PDF文件,刚刚结束在某处文档的中间。我在看到一个好的PDF结尾处看到的一些(可读的)信息并不存在于损坏的PDF中。

生成PDF时不显示错误。 (所有的PHP错误都已打开。)

运行TCPDF的示例9(其中显示大图像)时,不会出现问题。

回答

0

事实证明,我不得不让TCPDF调整图像大小。在为Image()参数$resize添加true之后,该脚本正常工作。

具体而言,这是我作出改变:

<?php 
// Old: 
$this->Image($this->headerLeftLogo, $this->getX(), $this->getY(), 0, $this->logoHeight, $type); 
// New: 
$this->Image($this->headerLeftLogo, $this->getX(), $this->getY(), 0, $this->logoHeight, $type, '', '', true); 
?>