function render(App_Grid_Filter $filter, $exportLayout, $page, $fileName, App_Template $template) { $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++) { $filter->setPage($i); $list = $filter->getList(); foreach ($list as $id => $row) { $pdf->AddPage($exportLayout); $pdf->SetFont('freeserif', '', 7); $pdf->SetX(5); $pdf->SetY(10); $mConfig = $filter->getModelConfig(); $fileds = $mConfig->getFieldsList(); foreach ($fileds as $filed) { //echo $filed->input; $prop = $mConfig->getPropByName($filed); if ($prop->input == 'filepicker') { $file = new Sys_Model_File(); $name = basename($row->{$filed}); $file = $file->fetchRow($file->select()->where("NAME=?", $name)); $template->assign($filed, $file->getPath()); } else { $template->assign($filed, $this->filter()->fieldTranform($row, $filed)); } $template->assign($filed . ":label", $this->_translate($prop->label)); } $tbl = $template->getOutput(); $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 //============================================================+ }