guidofaecke / dompdf-module
A Laminas module for incorporating DOMPDF support - Originally by Raymond Kolbe
Requires
- php: ~8.0.0 || ~8.1.0 || ~8.2.0
- dompdf/dompdf: ^v2.0.0
- laminas/laminas-eventmanager: ^3.3.0
- laminas/laminas-modulemanager: ^2.10.1
- laminas/laminas-servicemanager: ^3.4.1
- laminas/laminas-view: ^2.13.0
- mindplay/composer-locator: ^2.1.4
Requires (Dev)
- laminas/laminas-http: ^2.15.0
- laminas/laminas-mvc: ^3.2.0
- phpunit/phpunit: ^9.5.0
- slevomat/coding-standard: ^6.4.0
- squizlabs/php_codesniffer: ^3.5.0
- vimeo/psalm: ^5.11
Replaces
- dino/dompdf-module: 0.*
This package is not auto-updated.
Last update: 2024-10-31 00:11:37 UTC
README
The DOMPDF module integrates the DOMPDF library with Laminas with minimal effort on the consumer's end.
Requirements
Installation
Installation of DOMPDFModule uses PHP Composer. For more information about PHP Composer, please visit the official PHP Composer site.
Installation steps
-
cd my/project/directory
-
Add the module to the project by:
composer require guidofaecke/dompdf-module
-
open
my/project/directory/config/application.config.php
and add the following key to yourmodules
:'DOMPDFModule',
Configuration options
You can override options via the dompdf_module
key in your local or global config files. See DOMPDFModule/config/module.config.php for config options.
Usage
<?php namespace Application\Controller; use Laminas\Mvc\Controller\AbstractActionController; use DOMPDFModule\View\Model\PdfModel; class ReportController extends AbstractActionController { public function monthlyReportPdfAction() { $pdf = new PdfModel(); $pdf->setOption('fileName', 'monthly-report'); // "pdf" extension is automatically appended $pdf->setOption('display', PdfModel::DISPLAY_ATTACHMENT); // Triggers browser to prompt "save as" dialog $pdf->setOption('paperSize', 'a4'); // Defaults to "8x11" $pdf->setOption('paperOrientation', 'landscape'); // Defaults to "portrait" // To set view variables $pdf->setVariables(array( 'message' => 'Hello' )); return $pdf; } }
Development
So you want to contribute? Fantastic! Don't worry, it's easy. Local builds, tests, and code quality checks can be executed using Docker.
Quick Start
- Install Docker CE.
- Run the following from your terminal:
docker build -t guidofaecke/dompdf-module .
docker run -v composer-cache:/var/lib/composer -v ${PWD}:/opt/app guidofaecke/dompdf-module
Super easy, right? Here's a quick walk through as to what's going on.
docker build -t guidofaecke/dompdf-module .
builds a docker image that will be used for each run (i.e. each timedocker run
is executed) and tags it with the nameguidofaecke/dompdf-module
.docker run -v composer-cache:/var/lib/composer -v ${PWD}:/opt/app guidofaecke/dompdf-module
runs the default build in a new Docker container derived from the image taggedguidofaecke/dompdf-module
. The root of the project and PHP Composer cache volume are mounted so that artifacts generated during the build process are available to you on your local machine.
Note: You only need to run the first command once in order to build the image. The second command is what executes the build (build, tests, code quality checks, etc.).