2012-05-09 49 views
10

我有當用戶需要合併的PDF文件。這些文件已經存在,一切都很好。我正在使用下面的代碼來合併文件:FPDI合併的PDF文件,奇怪的線出現

class concat_pdf extends FPDI 
{ 
    var $files = array(); 

    function setFiles($files) 
    { 
     $this->files = $files; 
    } 

    function concat() 
    { 
     foreach($this->files AS $file) 
     { 
      $pagecount = $this->setSourceFile($file); 

      for($i = 1; $i <= $pagecount; $i++) 
      { 
       $this->AddPage('P'); 
       $tplidx = $this->ImportPage($i); 
       $this->useTemplate($tplidx); 
      } 
     } 
    } 
} 

$pdf = new concat_pdf(); 
$pdf->setFiles($files); //$files is an array with existing PDF files. 
$pdf->concat(); 
$pdf->Output("bulk.pdf", "D"); 

所有文件都合併,所有內容都在那裏。問題是,在新文件的每個頁面的頂部,會出現一條黑線。內容,邊距等都與原始文件完全相同,但是這條線從哪裏來(我可以說)。它不厚,但清晰可見。它不會混淆其他內容或任何內容,但不需要那裏,我需要刪除它。

我試過將ImportPage()函數的第二個參數更改爲documentation中描述的所有選項,但沒有任何區別。由於這是我看到的唯一可以在這幾行代碼中改變的東西,我真的不知道是什麼導致黑線出現。 我已經搜索了類似的問題,但到目前爲止 - 沒有運氣。任何人有想法?提前致謝!

before after

+0

你添加一個屏幕截圖? - 可能是說明問題的最佳方式。 – halfer

+0

我加了截圖,但因爲我不能透露文件的內容,我只砍打開同一個文件時,是什麼在上面看到的 - 一旦正常,一旦與其他文件合併。以下的一切都完全相同。 – Nikoloff

回答

1

我有這個問題的解決方案。 tcpdf中的默認頁眉和頁腳包含一行。你必須TCPDF類以刪除線4214

18

更好的東西的方法頁腳()和頭()的身體做,因爲你不會有修改源添加行:

$this->setPrintHeader(false); 
    $this->setPrintFooter(false); 

你CONCAT()函數的開始。

+2

謝謝,簡單但有效。 :) – illuzive

2

爲了避免編輯TCPDF庫,覆蓋在你的擴展類的方法頁腳和頁眉。

class concat_pdf extends FPDI 
{ 
    public function Footer() {} 
    public function Header() {} 
}