Exemplo n.º 1
0
 function render(App_Grid_Filter $filter, $exportLayout, $page, $fileName)
 {
     $pdf = new mypdf(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
     $pdf->caption = $this->caption;
     // set document information
     $pdf->SetCreator(PDF_CREATOR);
     $pdf->SetAuthor('Nicola Asuni');
     $pdf->SetTitle('TCPDF Example 048');
     $pdf->SetSubject('TCPDF Tutorial');
     $pdf->SetKeywords('TCPDF, PDF, example, test, guide');
     // set default header data
     //$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 048', PDF_HEADER_STRING);
     // set header and footer fonts
     //$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
     //$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
     // set default monospaced font
     $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
     //set margins
     $pdf->SetMargins(2, 0, 5);
     //$pdf->SetHeaderMargin(2);
     //$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
     //set auto page breaks
     $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
     //set image scale factor
     $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
     //set some language-dependent strings
     //$pdf->setLanguageArray($l);
     // ---------------------------------------------------------
     // set font
     $pdf->SetFont('helvetica', 'B', 20);
     // add a page
     // -----------------------------------------------------------------------------
     // -----------------------------------------------------------------------------
     $totalpage = $this->filter()->getTotalPage();
     if ($page == 'all') {
         $startPage = 1;
         $endPage = $totalpage;
     } elseif (is_array($page)) {
         $startPage = (int) $page['0'];
         $endPage = (int) $page['1'];
     } elseif (is_numeric($page)) {
         $startPage = $endPage = (int) $page;
     }
     if ($startPage < 0) {
         $startPage = 1;
     }
     if ($endPage == '') {
         $endPage = $startPage;
     }
     if ($endPage > $totalpage) {
         $endPage = $totalpage;
     }
     for ($i = $startPage; $i <= $endPage; $i++) {
         $pdf->AddPage($exportLayout);
         $pdf->SetFont('freeserif', '', 7);
         $pdf->SetX(5);
         $pdf->SetY(10);
         $filter->setPage($i);
         $list = $filter->getList();
         $tbl = $this->renderSimpleTable($filter, $list);
         $pdf->writeHTML($tbl, true, true, false, false, '');
     }
     //Close and output PDF document
     if ('' == $fileName) {
         $fileName = uniqid();
     }
     $filePath = App_Env::getPathOfUserTemporaryFolder() . "/" . $fileName . '.pdf';
     $pdf->Output($filePath, 'F');
     $pdf->Output(null, 'I');
     //============================================================+
     // END OF FILE
     //============================================================+
 }