2016-04-18 149 views
1

我有幾個使用TCPDF動態創建的PDF文件。用PHP合併PDF文件

我必須將由TCPDF創建的這些PDF合併爲一個,並且正如我看到的最佳做法是使用FPDI庫那樣做。

所有需要合併的PDF都存儲在同一個目錄中。

合併它們,我使用下面的代碼:

require(MY_APP_PATH . 'fpdf/fpdf.php'); 
require(MY_APP_PATH . 'fpdi/fpdi.php'); 


$fpdi = new FPDI(); 
// iterate over array of files and merge 
foreach ($filesToMerge as $file) { 
    $fpdi->setSourceFile(MY_APP_PATH . 'pdf/' . $file); 
    $tpl = $fpdi->importPage(1, '/MediaBox'); 
    $fpdi->addPage(); 
    $fpdi->useTemplate($tpl); 
} 

$fpdi->Output('F', 'merged.pdf'); 

錯誤我到這兒是:

TCPDF ERROR: Incorrect output destination: /VAR/WWW/HTML/MYAPP/PDF/MERGED.PDF 

貌似有TCPDF與FPDI庫(或之間的一些衝突甚至FPDF?),因爲它們都有相同的方法輸出。

而且,它工作正常,如果我在不同的代碼運行(不包括TCPDF類)

你能給我一些想法如何避免這一點,我的合併PDF的?

回答

1

只需更改Output()參數的順序。訂單在最新的FPDF版本中已更改,但internally both orders are supported,而TCPDF僅支持$ name,後跟$ dest。

FPDI將extend TCPDF類(如果可用)。如果它不可用,它將延長FPDF