Jump to content
marcelobbt

Converter html para pdf com codeigniter

Recommended Posts

Alguém indica uma biblioteca em php para converter páginas para pdf. E como uso a mesma no codeignigter.

 

Obs.: Tentei usar o TCPDF mas da muito trabalho e diversos erros incompreensíveis.

Share this post


Link to post
Share on other sites

Eu indico apenas a TCPDF. Todas as outras trabalharão com o mesmo sistema. Nunca tive erros com ela (ainda mais incompreensíveis). Está utilizando a versão mais recente pelo composer?

Share this post


Link to post
Share on other sites

Então não estou sabendo usar. O texto está vindo pela metade em alguns casos.

 

E sim, baixei a última versão direto do site.

Share this post


Link to post
Share on other sites

Mostre-nos o seu código e os erros apresentados.

Share this post


Link to post
Share on other sites

Segue o código abaixo:

pdf_helper (helper)

<?php
	function tcpdf()
	{
		require_once('tcpdf/examples/lang/eng.php');
		require_once('tcpdf/tcpdf.php');
	}
?>

(controler)

//carrega biblioteca
$this->load->helper('pdf_helper');

//código para obter as informações no BD
...

tcpdf();
// cria novo documento PDF
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
//define informações do documento
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Marcelo Teixeira');
$pdf->SetTitle('Relatório');
$pdf->SetSubject('Relatório');
// define fonte
$pdf->SetFont('helvetica', '', 10);
//adiciona a página
$pdf->AddPage();
//adiciona imagem
$pdf->Image('img/bannerRelat.png', 5, 5, 200, 38, 'PNG', '', '', true, 150, '', false, false, 1, false, false, false);
//adiciona segunda imagem
$pdf->Image('img/logo.png', 5, 55, 50, 34, 'PNG', '', '', true, 150, '', false, false, 1, false, false, false);
//cria as colunas
$coluna2 = '<h2>Título: '.$titulo.'</h2>
<p>Autor: '.$autor.'</p>';
//define cor do fundo
$pdf->SetFillColor(255, 255, 255);
//imprime coluna 2
$pdf->writeHTMLCell(120, '', 60, $y, $coluna2, 0, 2, 1, true, 'c', true);
//cria página
ob_start();
$html = '
	<p> </p>
	<table width="80%" border="2" cellspacing="2" cellpadding="6" >
		<tr>
			<td>Data da Reunião</td>
			<td>'.$datareuniaoBD.'</td>
		</tr>
		<tr>
			<td>Número de Membros</td>
			<td>'.$membrostotais.'</td>
		</tr>
		<tr>
			<td>Membros Presentes</td>
			<td>'.$membrosparticipantesBD.'</td>
		</tr>
		<tr>
			<td>Número de Visitantes na Reunião</td>
			<td>'.$visitantesBD.'</td>
		</tr>
		<tr>
			<td>Crianças</td>
			<td>'.$criancasBD.'</td>
		</tr>
		<tr>
			<td>Visitas realizadas na semana?</td>
			<td>'.$visitasBD.'</td>
		</tr>
		...
        <tr>
			<td colspan="2">
				<h5>Relate qualquer situação fora do habitual:</h5>
				<p>
					<ul>
						<li>ESTUDAM OU TRABALHAM: '.$trabalhamBD.'</li>
						<li>FALTOSOS: '.$faltososBD.'</li>
						<li>VISITANTES: '.$nomevisitantesBD.'</li>
					</ul>
				</p>
				<p><strong>Observação:</strong>  '.$observacaoBD.'</p>
			</td>
		</tr>		
	</table>';			
ob_end_clean();
//escreve texto html no pdf
$pdf->writeHTML($html, true, true, false, false, '');
//gera o pdf
$pdf->Output('output.pdf', 'I');

No resultado sai apenas parte do $html. O restante do texto não aparece.

 

Obs.: Também não consigo fazer aparecer a borda da tabela.

 

 

 

Share this post


Link to post
Share on other sites

Qual é o "restante do texto" que não aparece?

 

TCPDF não interpreta HTML com erros, tem uma reticências perdida no meio do seu HTML

  • +1 1

Share this post


Link to post
Share on other sites

Eu havia removido pois era muito grande.

 

Mas depois do que você falou encontrei um caractere perdido no $html e ao remover foi tudo resolvido.

 

Valeu pela ajuda. Agora quando der a mesma coisa vou prestar mais atenção.

obrigado!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By clovis.sardinha
      Pessoal,
      Estou fazendo um relatório no codeigniter, mas não consigo recuperar o retorno da model para a view.  Dou o foreach para utilizar um conjunto de id's que preciso achar em uma tabela, mas o array só recupera o último.
      Controller:
      $destinoterc=$this->triangulomodel->getDestinoterc($origemuser);         $dados['destinoterc']=$destinoterc;         foreach ($destinoterc as &$i){             $origemterc = $i['id'];             $origemtercfinal=$this->triangulomodel->getOrigemterc($origemterc);                                   }         $dados['origterc']= $origemtercfinal;        Model
      public function getOrigemterc($origemterc){ $query =$this->db->query("SELECT * FROM cadastro join tb_cidades on tb_cidades.cid_id=cadastro.cidade_origem where id =$origemterc"); foreach ($query->result_array() as $row) { } return $query->result_array(); }  
      Resultado , só está pegando o último ponteiro da array de origem. Teria que aparecer uns 30 registros.!
      [origterc] => Array ( [0] => Array ( [id_] => 21302 [cidade] => 3233 [cid_nome] => Januaria )  
    • By asacap1000
      Salve Galera!!! estou com um projeto onde preciso disponibilizar na intranet documentos que estão em um servidor.
      Estes documentos estão salvos em diversas pastas dividido por dias meses e anos etc etc.
      Não quero que list todos os documentos porém ele seria pesquisado.
      Exemplo: NF 123456
      No arquivo salvaram assim "cliente NF 123456.pdf", tentei utilzar o glob porém ele não retorna nada nem deu erro.
      Por ser em outro servidor não seu se ele consegue ler já pesquisei mas não encontrei nada sobre isso.
       
      Saberiam me ajudar com este caso:
       
      Na intranet ele terá uma busca normal de relatórios ao listar essas informações ele diponibiliza um link com o numero da NF a qual eu chamaria essa página para realizar a busca no servidor e assim abrir o arquivo no navegador..
    • By sirrocha
      Oi pessoal, tenho uma dúvida referente a geração de PDFs automáticos em uma tabela.
      Gostaria de gerar um PDF para cada linha de uma tabela, contendo as informações que aparecem na interface, mas também as que estão dentro do banco de dados e preferi não mostrar pro usuário nessa parte. 
      Perguntei em um outro fórum, porém minha pergunta foi excluída, mas não estou procurando uma resposta pronta e sim uma indicação. Sou novo no assunto e por isso não tenho uma base tão sólida pra saber o caminho para eu iniciar.
       
      Tentei utilizar um padrão do dompdf, porém, aparentemente, a dica dada funcionava apenas para o CodeIgniter. O meu site está alocado no cPanel e eu usei o próprio editor de texto de lá para tudo que fiz até agora.
      Caso necessitem de mais informações, estou a disposição.
    • By asacap1000
      Galera já verifiquei vários páginas do google mas não encontrei o que precisava. Temos um sistema a qual no final temos a opção d imprimir os dados. que até aí está perfeito utilizo bootstrap para o layout e está ok. Porém preciso colocar a opção de pdf também aí não sai de jeito nenhum com o bootstrap. preciso gerar algo neste formato.
       

       
      Se alguem puder me dar um norte referente a isso agradeço demais.
    • By Guilherme Morete Felix
      Olá,
      Estamos upando arquivos em nossa plataforma via moodle, como base de regra, tais arquivos são em formato pdf.
      Temos como objetivo que o aluno apenas abra e visualize o documento, porém não consiga fazer o download, cópia, impressão ou algo no sentido mencionado.
      Caso não seja possível, uma saída secundária seria permitir a impressão dos arquivos com o cpf do aluno e um termo de compromisso como marca d'água.
      Alguém poderia me relatar se essas alternativas são possíveis, quais são as possibilidades e se alguma pessoa pode ajudar nesse aspecto? Desde já, muito obrigado!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.