vianetz / pdf-generator
A library that supports method for generating PDF documents based on DomPdf and FPDI.
Installs: 20 564
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: ^7.4|^8
- dompdf/dompdf: ^2.0|^3.0
- setasign/fpdi: ^2.0
- tecnickcom/tcpdf: ^6.4
Requires (Dev)
- phpstan/phpstan: ^1.8
- phpstan/phpstan-phpunit: ^1.1
- phpunit/phpunit: ^9|^10|^11
Suggests
- vianetz/signaturportal-api: Use this library to sign your generated PDF documents.
- zf1/zend-pdf: Necessary if you want to use Zend_Pdf for merging. By default this package uses the fpdi merger.
README
This library offers an easy-to-use API for PDF generation and merging.
Internally it uses the DomPDF library for PDF generation and TCPDF for merging.
Usage
Create PDF document from HTML contents
// Create a new pdf instance. $pdf = Vianetz\Pdf\Model\PdfFactory::general()->create(); // Create the document. You can return any kind of HTML content here. $document = new \Vianetz\Pdf\Model\Document(); $document->setHtmlContents('<strong>Hello</strong> World!'); // Add our document to the pdf. You can add as many documents as you like // as they will all be merged into one PDF file. $pdf->addDocument($document); // Save the resulting PDF to file test.pdf - That's it :-) $pdf->saveToFile('test.pdf');
Merge a PDF file and a PDF string into one PDF file
// Load some random PDF contents $pdfString = file_get_contents('test1.pdf'); // Setup things $pdf = Vianetz\Pdf\Model\PdfFactory::general()->create(); $pdfMerge = Vianetz\Pdf\Model\PdfMerge::create(); // Do the merge. $pdfMerge->mergePdfString($pdfString); $pdfMerge->mergePdfFile('test2.pdf'); // Save the result PDF to file result.pdf. $pdfMerge->saveToFile('result.pdf');
Tips & Tricks
- The string literal
__PDF_TPC__
will be replaced with the total page count
Frequently Asked Questions
Please find the Frequently Asked Questions on my website.
Support
If you have any issues or suggestions with this extension, please do not hesitate to contact me.
Credits
Of course this extension would not have been possible without the great open source eco-system. Therewith credits go to:
License
GNU General Public License v3.0
See also LICENSE file.
This extension uses the DomPDF library. For license information please visit the DomPdf
repository.
This extension uses the FPDI library. For license information please visit the FPDI
repository.
This library uses Semantic Versioning - please find more information at semver.org.