我如何使用我生成的其他PDF文件创建一个新的文档?
我有一些创建文档的方法,我想将它们合并成一个大的PDF文件,我该如何使用TCPDF实现这个功能?
我不想使用其他库。
TCPDF有一个名为tcpdf_import
的类,该类在2011年添加,但仍处于“开发中”状态。如果您不想使用TCPDF以外的任何内容,则不幸了!
但是FPDI是TCPDF的绝佳补充:它就像一个插件那样简单。只需要这样:
require_once('tcpdf/tcpdf.php');
require_once('fpdi/fpdi.php'); // the addon
// FPDI extends the TCPDF class, so you keep all TCPDF functionality
$pdf = new FPDI();
$pdf->setSourceFile("document.pdf"); // must be pdf version 1.4 or below
// FPDI's importPage returns an object that you can insert with TCPDF's useTemplate
$pdf->useTemplate($pdf->importPage(1));
完成了!
另请参阅此问题: TCPDF和FPDI多页
为什么不使用Zend_PDF,它是合并文件的非常好的方法。
<?php
require_once 'Zend/Pdf.php';
$pdf1 = Zend_Pdf::load("1.pdf");
$pdf2 = Zend_Pdf::load("2.pdf");
foreach ($pdf2->pages as $page){
$pdf1->pages[] = $page;
}
$pdf1->save('3.pdf');
?>
你好,我认为TCPDF无法合并PDF文件。
您可以尝试使用Shell命令和PDFTK Toolkit来完成此操作,这样就不需要使用其他PDF库。
这篇帖子是从2009年开始的,但在2020年仍然存在使用现有PDF文件的PHP问题。
由于Zend_PDF已经被废弃且TCPDI不支持PHP 7,FPDI 是目前2020年似乎唯一剩下的几个可行方案之一。它可以与TCPDF和FPDF一起使用,因此现有代码仍然可以正常工作。而且目前看来,它一直得到维护。
FPDI工作正常,但在处理PDF 1.7时存在一些问题,如果您无法控制要合并的PDF文件,则不适合使用,因此最终解决方案仍有待确定。