Skip to content

Commit f10d3c7

Browse files
author
Raymond Kolbe
committed
Updated module to work with ZendFramework 2.0.0rc6. Also changed default page size to 8x11.
1 parent 65822c4 commit f10d3c7

File tree

3 files changed

+36
-9
lines changed

3 files changed

+36
-9
lines changed

src/DOMPDFModule/Mvc/Service/ViewPdfRendererFactory.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,11 @@ class ViewPdfRendererFactory implements FactoryInterface
3434
public function createService(ServiceLocatorInterface $serviceLocator)
3535
{
3636
$viewManager = $serviceLocator->get('ViewManager');
37-
37+
3838
$pdfRenderer = new PdfRenderer();
3939
$pdfRenderer->setResolver($viewManager->getResolver());
40-
40+
$pdfRenderer->setHtmlRenderer($viewManager->getRenderer());
41+
4142
return $pdfRenderer;
4243
}
4344
}

src/DOMPDFModule/View/Renderer/PdfRenderer.php

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,29 @@
1919

2020
namespace DOMPDFModule\View\Renderer;
2121

22-
use Zend\View\Renderer\PhpRenderer;
23-
use Exception\InvalidArgumentException;
22+
use Zend\View\Renderer\RendererInterface as Renderer;
23+
use Zend\View\Resolver\ResolverInterface as Resolver;
2424
use \DOMPDF;
2525

26-
class PdfRenderer extends PhpRenderer
26+
class PdfRenderer implements Renderer
2727
{
28-
private $paperSize = 'a4';
28+
private $paperSize = '8x11';
2929
private $paperOrientation = 'portrait';
3030
private $basePath = '/';
3131
private $fileName = null;
32+
private $resolver = null;
33+
private $htmlRenderer = null;
34+
35+
public function setHtmlRenderer(Renderer $renderer)
36+
{
37+
$this->htmlRenderer = $renderer;
38+
return $this;
39+
}
40+
41+
public function getHtmlRenderer()
42+
{
43+
return $this->htmlRenderer;
44+
}
3245

3346
public function setPaperSize($size)
3447
{
@@ -72,7 +85,7 @@ public function getFileName()
7285
*/
7386
public function render($nameOrModel, $values = null)
7487
{
75-
$html = parent::render($nameOrModel, $values);
88+
$html = $this->getHtmlRenderer()->render($nameOrModel, $values);
7689

7790
$pdf = new DOMPDF();
7891
$pdf->set_paper($this->paperSize, $this->paperOrientation);
@@ -83,4 +96,14 @@ public function render($nameOrModel, $values = null)
8396

8497
return $pdf->output();
8598
}
99+
100+
public function getEngine()
101+
{
102+
return $this;
103+
}
104+
105+
public function setResolver(Resolver $resolver)
106+
{
107+
$this->resolver = $resolver;
108+
}
86109
}

src/DOMPDFModule/View/Strategy/PdfStrategy.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,12 @@ public function detach(EventManagerInterface $events)
8585
public function selectRenderer(ViewEvent $e)
8686
{
8787
$model = $e->getModel();
88-
88+
8989
if ($model instanceof Model\PdfModel) {
90-
// PdfModel found
90+
$this->renderer->setPaperSize($model->getOption('paperSize'));
91+
$this->renderer->setPaperOrientation($model->getOption('paperOrientation'));
92+
$this->renderer->setBasePath($model->getOption('basePath'));
93+
9194
return $this->renderer;
9295
}
9396

0 commit comments

Comments
 (0)