tomsgu / pdf-merger
v0.5.0
2023-12-02 14:52 UTC
Requires
- php: ^7.2 || ^8.0
- setasign/fpdf: ^1.8
- setasign/fpdi: ^2.0
Requires (Dev)
- phpstan/phpstan: ^1.5
- phpunit/phpunit: ^8
README
这是一个基于setasign/fpdi和fpdf库的PHP >= 7.2版本pdf合并的简单包装器,灵感来源于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);