Skip to content

Latest commit

 

History

History
76 lines (58 loc) · 2.5 KB

File metadata and controls

76 lines (58 loc) · 2.5 KB

DOMPDFModule

Project based on https://github.com/raykolbe/DOMPDFModule

Master: Build Status

The DOMPDF module integrates the DOMPDF library with Zend Framework 2 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

  1. cd my/project/directory

  2. create a composer.json file with following contents:

    {
        "require": {
            "victor-alencar/dompdf-module": "dev-master"
        }
    }
  3. install PHP Composer via curl -s http://getcomposer.org/installer | php (on windows, download http://getcomposer.org/installer and execute it with PHP)

  4. run php composer.phar install

  5. open my/project/directory/config/application.config.php and add the following key to your modules:

    '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 Zend\Mvc\Controller\AbstractActionController;
use DOMPDFModule\View\Model\PdfModel;

class ReportController extends AbstractActionController
{
    public function monthlyReportPdfAction()
    {
        $pdf = new PdfModel();
        $pdf->setOption('filename', 'monthly-report'); // Triggers PDF download, automatically appends ".pdf"
        $pdf->setOption('paperSize', 'a4'); // Defaults to "8x11"
        $pdf->setOption('paperOrientation', 'landscape'); // Defaults to "portrait"
        $pdf->setOption('positionPageCounter', 'top-center'); // Defaults to "none". accepted values: "top-left", "top-center", "top-right", "bottom-left", "bottom-center", "bottom-right"
        $pdf->setOption('textPageCounter', '{PAGE_NUM}/{PAGE_COUNT}'); // Defaults to "Page {PAGE_NUM} of {PAGE_COUNT}"
        
        // or use array
        // $pdf->setOptions(array('filename' => 'monthly-report', 'paperSize' => 'a4', ... ));

        // To set view variables
        $pdf->setVariables(array(
          'message' => 'Hello'
        ));
        
        return $pdf;
    }
}

To-do

  • Add command line support.