2013-08-26 46 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); 
?>