PDF Merger
PdfMerger concatenates pages from multiple source PDFs into one output document. Unlike the reader-based toolkit classes, it uses a factory method (create()) instead of open() since it starts with no source document.
Creating a merger
Section titled “Creating a merger”use Phpdftk\Pdf\Toolkit\PdfMerger;
$merger = PdfMerger::create();Adding sources
Section titled “Adding sources”Full documents
Section titled “Full documents”$merger->addFile('chapter1.pdf') ->addFile('chapter2.pdf') ->addFile('chapter3.pdf');From byte strings
Section titled “From byte strings”$merger->addString($pdfBytes);Encrypted sources
Section titled “Encrypted sources”$merger->addFile('secured.pdf', password: 'secret');Specific pages from a document
Section titled “Specific pages from a document”use Phpdftk\Pdf\Toolkit\PageSelector;
$merger->addPages('large.pdf', PageSelector::range(1, 10));$merger->addPages('appendix.pdf', PageSelector::pages(3, 7, 12));$merger->addPages('forms.pdf', PageSelector::odd());Querying
Section titled “Querying”$merger->getSourceCount(); // number of source PDFs added$merger->getTotalPageCount(); // total pages across all sourcesSaving
Section titled “Saving”// To file$merger->save('combined.pdf');
// To string$bytes = $merger->toBytes();Complete example
Section titled “Complete example”PdfMerger::create() ->addFile('cover.pdf') ->addPages('body.pdf', PageSelector::range(1, 50)) ->addFile('appendix.pdf') ->save('book.pdf');