我有几个使用TCPDF动态创建的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吗?
答案 0 :(得分:1)
只需更改Output()
参数的顺序即可。订单在最新的FPDF版本中更改,但internally both orders are supported,而TCPDF仅支持$ name,后跟$ dest。