これは最も単純なことのように見えますが、機能させることができません。
複数ページのPDFの最初のページにテキストを追加する必要があります(任意の数のページである可能性があります)
このコードを 2 ページの pdf で使用すると (for ループを使用せず、$pdf->importPage(2) を使用するだけで)、最終的に 2 ページになりますが、2 ページ目は 1 ページ目の繰り返しです。テキストは最初のページにのみ書かれていますが、出力pdfにすべてのページが含まれている必要があります。これが私のコードです
// Original file with multiple pages
$fullPathToFile = 'full/path/to/file.pdf';
class PDF extends FPDI {
var $_tplIdx;
function Header() {
global $fullPathToFile;
if (is_null($this->_tplIdx)) {
$this->setSourceFile($fullPathToFile);
$this->_tplIdx = $this->importPage(1);
}
$this->useTemplate($this->_tplIdx);
}
function Footer() {}
}
// initiate PDF
$pdf = new PDF();
$pdf->setFontSubsetting(true);
// add a page
$pdf->AddPage();
// The new content
$pdf->SetFont("helvetica", "B", 14);
$pdf->Text(10,10,'Some text here');
// How to get the number of pages of original pdf???
// $numPages = $pdf->getNumPages(???);
// Carry on adding all remaining pages starting from page 2
for($i=2;$i<=$numPages;$i++) {
// Add another page
$pdf->AddPage();
// Do I need to declare the source file here?
// $pdf->setSourceFile($fullPathToWD);
$pdf->importPage($i);
}
// Output the file as forced download
$pdf->Output('theNewFile.pdf', 'D');
ドキュメントへのリンク
TCPDF クラス http://www.tcpdf.org/doc/code/classTCPDF.html#a5171e20b366b74523709d84c349c1ced
FPDI クラス http://www.setasign.de/support/manuals/fpdi/
FPDF_TPL クラス http://www.setasign.de/support/manuals/fpdf-tpl/