Menggunakan dompdf di symfony (HTML to PDF converter (PHP5))

Untk symfony 1.0 bisa menggunakan [1], sedangkan untuk symfony 1.3 dan 1.4 bisa mengggunakan [2].

Untuk menggunakan sfDOMPDFPlugin, bisa melihat [3], berikut adalah potongan kodenya :

Buat file utilities.class.php :

public static function getHtmlContent(sfActions $action, $layout = false)

{

sfConfig::set('sf_web_debug', false);

$action->setLayout($layout);

$context = $action->getContext();

//clear http headers

$context->getResponse()->clearHttpHeaders();

/*get the view, execute n render with variables*/

$view = $context->getController()->getView($action->getModuleName(), $action->getActionName(), 'Success');

$view->execute();

$view->getAttributeHolder()->add($action->getVarHolder()->getAll());

$content = $view->render();

return $content;

}

Kemudian pada file action :

public function executeDownload_as_pdf(sfWebRequest $request)

{

/*your actions code goes here*/

//get data from database, setting variables.. etc

/*end your actions*/

//code to generate pdf

$html = myUtils::getHtmlContent($this, 'layout_popup_dompdf');

$dom_pdf = new sfDomPDFPlugin($html);

$dom_pdf->setBasePath('css');

$dom_pdf->getPDF()->render();

$dom_pdf->getPDF()->stream("yourfilename.pdf");

}

Ketika menggunakan instruksi ini [3] di sebuah aplikasi yang masih menggunakan symfony 1.0, tidak bisa.

Referensi