Your choice of DOMPDF is right. It is the easiest to use in Zend Framework 2. Just add a simple module (DOMPDFModule) and you are ready to go. Since you are new to Zend Framework 2; here's how to use it.
Step 1: Download DOMPDFModule
"dino/dompdf-module": "dev-master" composer.json
:
composer.json
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": "2.2.*",
"dino/dompdf-module": "dev-master"
}
, . , , include ( "dompdf.php" )
:
php composer.phar install
DOMPDFModule config/application.config.php
:
application.config.php
'modules' => array(
'Application',
'DOMPDFModule',
),
.
2: Zend Framework 2
, PDF ,
DOMPDFModule\View\Model\PdfModel;
; .
:
IndexController.php
<?php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use DOMPDFModule\View\Model\PdfModel;
PDF .
:
, ; pdf .
example.com/generatepdf
generatepdfAction(), PDF .
IndexController.php
public function generatepdfAction()
{
$pdf = new PdfModel();
return $pdf;
}
Zend Framework 2; generatepdf.phtml, HTML-, PDF.
:
generatepdf.phtml
<html>
<body>
<h1>My Name is Blah</h1>
</body>
</html>
, , ; PDF , PDF.
generatepdfAction() setVariables() PdfModel()
:
IndexController.php
public function generatepdfAction()
{
$pdf = new PdfModel();
$pdf->setVariables(array(
'name' => 'John Doe',
));
return $pdf;
}
generatepdf.phtml
<html>
<body>
<h1>My Name is <?php echo $this->name; ?></h1>
</body>
</html>
PDF. setOption() PdfModel().
:
IndexController.php
public function generatepdfAction()
{
$pdf = new PdfModel();
$pdf->setOption("filename", "my-file");
return $pdf;
}
(.pdf) .
PaperSize paperOrientation
:
IndexController.php
public function generatepdfAction()
{
$pdf = new PdfModel();
$pdf->setOption("paperSize", "a4");
$pdf->setOption("paperOrientation", "landscape");
return $pdf;
}
, .