DOMPDFModule icon indicating copy to clipboard operation
DOMPDFModule copied to clipboard

How to generate pdf files on server side

Open BigAndini opened this issue 10 years ago • 4 comments

Hi,

maybe somebody besides me is searching for a solution on how to generate pdf files on server side. Here is a small example that works for me. Maybe it finds its way to the readme. :)

$pdfView = new ViewModel();
# When the action can be found at:
# MyModule/MyController/mypdf
# the path to the according template would be:
# my-module/my-controller/mypdf
$pdfView->setTemplate('my-module/my-controller/mypdf');
$pdfView->setVariables(array(
    'somevar' => $somevar,
));
$pdfRenderer = $this->getServiceLocator()->get('ViewPdfRenderer');
$html = $pdfRenderer->getHtmlRenderer()->render($pdfView);
$pdfEngine = $pdfRenderer->getEngine();

$pdfEngine->load_html($html);
$pdfEngine->render();
$pdfContent = $pdfEngine->output();

# make sure to create public/pdf before
file_put_contents(getcwd().'/public/pdf/mypdf.pdf', $pdfContent);

greetings Andi

P.S.: This is more an enhancement for the readme than a real issue, but I don't know how to change the issue type on github, yet.

BigAndini avatar Feb 09 '15 09:02 BigAndini

Thanks for this fully working example. This should definitely make its way to the readme :-)

Have you found a way to set option using this method? I wasn't able to change paperSize e.g. using the setOption technique.

mlumbroso avatar Oct 06 '15 08:10 mlumbroso

Yes, anyhow we managed it to generate A4 instead of Letter PDFs. This is our ETicketService:

https://github.com/inbaz/ers/blob/master/module/PreReg/src/PreReg/Service/ETicketService.php

We set the option directly inside of the pdfEngine. There are still some errors in this code and some duplicate statements. The interesting part starts at line 348 where $paperSize is used again.

Does this help?

BigAndini avatar Oct 06 '15 09:10 BigAndini

Yes this is great! Thanks for your extremely quick reply, it definitely helps :-) (It's people like you who make Github that amazing!)

mlumbroso avatar Oct 06 '15 17:10 mlumbroso

Hi @inbaz and @mlumbroso,

As you've noticed DOMPDFModule hasn't received the time and attention it deserves. I understand how frustrating this is and I'm sorry you've had to deal with this frustration 😢

I'm currently taking steps to stabilize DOMPDFModule which includes code updates as well as creating a backlog that will ensure its continued success.

You can follow project Phoneix to see what immediate work is being prioritized.

Thank you for your understanding and patience.

raykolbe avatar Oct 30 '16 14:10 raykolbe