Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu estou tentando criar uma página com codeigniter que gere pdf. Para isso estou usando o TCPDF, mas não estou conseguindo inserir o arquivo CSS para formatar o PDF.
Controller:
$this->load->helper('pdf_helper');
//dados a serem enviados para vista
$dados = array (...);
$this->load->view('pdfreport', $dados);
Vista:
<?php
tcpdf();
$obj_pdf = new TCPDF('P', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$obj_pdf->SetCreator(PDF_CREATOR);
$title = "Relatório de Grupo";
$obj_pdf->SetTitle('Relatório de Grupo Familiar');
// $obj_pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, $title, "Monthly Report");
// $obj_pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$obj_pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$obj_pdf->SetDefaultMonospacedFont('helvetica');
// $obj_pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$obj_pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// $obj_pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$obj_pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$obj_pdf->SetFont('helvetica', '', 9);
$obj_pdf->setFontSubsetting(false);
$obj_pdf->AddPage();
ob_start();
?>
<img src="<?php echo base_url(); ?>img/bannerRelat.png"/>
<p> </p>
<table border="0">
<tr>
<td>
<h2>Grupo<?php echo $grupo; ?></h2>
</td>
</tr>
</table>
<p> </p>
<table width="80%" border="1" cellspacing="2" cellpadding="3">
<tr>
<td>Data da Reunião</td>
<td><?php echo $datareuniaoBD; ?></td>
</tr>
<tr>
<td>Número de Membros</td>
<td><?php echo $membros; ?></td>
</tr>
<tr>
<td>Membros Presentes</td>
<td><?php echo $membrosparticipantesBD; ?></td>
</tr>
</table>
<?php
$content = ob_get_contents();
ob_end_clean();
$obj_pdf->writeHTML($content, true, false, true, false, '');
$obj_pdf->Output('output.pdf', 'I');
?>
Se insiro um <link href="<?php echo base_url(); ?>css/bootstrap.css" rel="stylesheet"/> ele simplesmente ignora.Eu sei que esse código todo deveria estar no controle, mas foi um código que encontrei na net e que funcionou. Quando estava tentando gerar os dados no controle não estava funcionando.
Quanto aos métodos de formatação até tentei usar por exemplo um que achei em sua documentação, mas ao tentar mudar a cor ele mudava de todo o conteúdo.
Vou tentar ver esse exemplo que passou. Já ajuda alguma coisa, mas o que queria era jogar o css que já tenho criado.
Fala marcelobbt!
Cara dá uma olhada no mpdf, pois uso ele com o CI e não tenho este problema.
http://www.universidadecodeigniter.com.br/gerando-pdf-no-codeigniter-com-mpdf/
No exemplo do link ele cria no controller, mais como é uma função que utilizo bastante eu criei uma helper.
Obrigado pela dica!
Já consegui resolver.
Primeiramente, acho que deveria rever seu código, entendo que você está colocando algo na camada view que deveria, por exemplo, está no controller. Porque na sua view simplesmente não cria um botão, link, etc... que chame um método do controller e dê saída no PDF?
Em relação a sua formatação do PDF, a própria classe TCPDF possui métodos para formatação, utilize eles. Nunca utilizei a classe, mas veja um exemplo na documentação: https://tcpdf.org/examples/example_022/