EasyPdf
is a library that enables the creation of PDFs using Blade templates and the Mpdf library. It provides an easy-to-use interface for generating PDFs from Blade views, with options for saving or streaming the generated PDF.
- Blade Template Integration: Use Blade templates to generate HTML content for PDFs.
- Mpdf Integration: Leverage Mpdf for high-performance PDF generation.
- Save or Stream PDFs: Save PDFs to a file or stream them directly to the browser.
You can install the package via Composer:
composer require elysio/easy-pdf
To initialize the EasyPdf
class, you can either use the constructor directly or the static init
method.
use elysio\easypdf\EasyPdf;
$pdfGenerator = EasyPdf::init('path/to/views', 'path/to/cache');
You can generate a PDF from a Blade view by calling the makePdf
method. The method takes the name of the Blade view and an optional array of data to be passed to the view.
$pdf = $pdfGenerator->makePdf('viewName', ['key' => 'value']);
This will return an Mpdf
instance, which you can use for further operations (e.g., saving or streaming the PDF).
To save the generated PDF to a file, use the savePdf
method:
$success = $pdfGenerator->savePdf($pdf, 'path/to/save/document.pdf');
To stream the generated PDF directly to the browser, use the streamPdf
method:
$pdfGenerator->streamPdf($pdf, 'document.pdf');
The EasyPdf
class allows you to specify custom paths for the Blade views and cache directories when initializing the instance.
$pdfGenerator = EasyPdf::init('custom/views', 'custom/cache');
- mpdf/mpdf: Required for PDF generation.
- eftec/bladeone: Required for Blade templating.
To run tests during development, use the following command:
composer test
This will execute the tests using Pest.
MIT License. See the LICENSE file for more information.
Elysio Martins | Refaltor
Email: elysiomartinspro@gmail.com