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

Comments