PDFMerger
v0.5.0
用于合并 pdf 的简单包装器,适用于 PHP >= 7.2,基于 setasign/fpdi 和 fpdf 库,受到 clegginabox/pdf-merger 的启发。
使用 symfony 框架时,您可以使用 tomsgu/pdf-merger-bundle 包。
composer require tomsgu/pdf-merger
$ pdfCollection = new PdfCollection ();
$ pdfCollection -> addPdf ( ' filename.pdf ' , PdfFile :: ALL_PAGES , PdfFile :: ORIENTATION_PORTRAIT );
$ pdfCollection -> addPdf ( ' filename2.pdf ' , ' 1-4,9 ' , PdfFile :: ORIENTATION_LANDSCAPE );
$ pdfCollection -> addPdf ( ' filename3.pdf ' , ' 1-4,9 ' , PdfFile :: ORIENTATION_AUTO_DETECT );
$ pdfCollection -> addPdf ( ' filename4.pdf ' );
// You can also pass a resource
$ resource = fopen ( ' filename4.pdf ' , ' r ' );
$ pdfCollection -> addPdf ( $ resource );
$ fpdi = new Fpdi ();
$ merger = new PdfMerger ( $ fpdi );
/**
* Available modes: MODE_FILE, MODE_DOWNLOAD, MODE_STRING, MODE_BROWSER
* Orientation: This is a fallback if the orientation wasn't specified when adding pdf.
*/
$ merger -> merge ( $ pdfCollection , ' output.pdf ' , PdfMerger :: MODE_FILE , PdfFile :: ORIENTATION_LANDSCAPE );