Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

Problema ao gerar pdf

Recommended Posts

Bom Dia!

 

Estou tendo um problema com o dompdf.

 

Gerar, gera normal, mas quando gera as tabelas do html, suas bordas não saem no local certo.

 

Tem como contornar esse problema?

 

 

Veja a print:

aa.jpg

Veja o código:

<?php  
ob_start();
session_start();
header('Content-Type: text/html; charset=utf-8'); 
include("../global/config/const.php"); 
include("../global/config/conexao.php");  
include("../global/funcoes_php/formata_data.php");   
include("../global/funcoes_php/converte_datas.php");  
?>

<?php 
if ($_GET["acao"] == "gerapdf")
{

     $cabecalho_string =
     "
	select
	  pedidos_cliente_varejo.id_pedidos_cliente_varejo,  
	  clientes.nome,  
	  clientes.razaosocial,
	  pedidos_cliente_varejo.data_pedidos_cliente_varejo,
	  pedidos_cliente_varejo.preco_total_pedidos_cliente_varejo,  
	  pedidos_cliente_varejo.atende_pedidos_cliente_varejo,  
	  pedidos_cliente_varejo.atende_data_pedidos_cliente_varejo 
	from
	  pedidos_cliente_varejo  
	  inner join clientes on pedidos_cliente_varejo.id_clientes_pedidos_cliente_varejo=clientes.id          
	where 
	 pedidos_cliente_varejo.id_pedidos_cliente_varejo=".$_GET["id_do_pedido"];


     $cabecalho=$MySQL->Query($cabecalho_string);

  list($id_pedidos_cliente_varejo, $nome_cli, $razao_cli, $data_pedido, $preco_total, $atende, $data)=$MySQL->fetch_row($cabecalho);
  if ($atende=="s")      { 
					 $bx = "n"; 
					 $msg ="Deseja voltar esse pedido para atendimento?";
				   }
     else if	($atende=="n") { 
                       $msg_del ="Deseja excluir esse pedido?";
				    $deletar="
				               Deletar o Pedido?<br>
				 Clique <a href=\"?acao=excluir&numero_do_pedido=".$_GET["id_do_pedido"]."\" onclick=\"return verifica('".$msg_del."')\">AQUI</a>
							 ";

					 $bx = "s"; 
					 $msg ="Deseja dar baixa nesse pedido?";
				   }		

  $texto= "<table align=\"center\" border=\"1\" width=\"800\">
		  <tr>
			  <td align=\"center\"colspan=\"4\">Pedido nº: ".$_GET["id_do_pedido"]."<br>
                                   				Data do pedido: ".formata_data($data_pedido)."<br />
			                                    Valor Total do pedido: R$ ".number_format($preco_total, 2, '.', '')."<br>
												Cliente: $nome_cli$razao_cli
			  </td>
		  </tr>			  
             <tr>
                <td           align=center>Produto</td>			
                <td           align=center>Valor Unitário(R$:)</td>
                <td           align=center>Qtde</td>
                <td           align=center>Total:</td>
		    </tr> 
		  ";	
	$produtos_string =
       "
		select 
		   grupos.nome, 
		   produtos_varejo.nome_produtos_varejo, 
		   pedidos_varejo.preco_uni_pedidos_varejo, 
		   pedidos_varejo.quantidade_pedidos_varejo, 
		   pedidos_varejo.semi_total_pedidos_varejo
		from 
		 pedidos_varejo
		   inner join produtos_varejo on pedidos_varejo.id_produto_pedidos_varejo=produtos_varejo.id_produtos_varejo
		   inner join grupos on grupos.id_grupo=produtos_varejo.id_grupos_produtos_varejo
		where 
		   pedidos_varejo.id_pedido_cliente_pedidos_varejo=".$_GET["id_do_pedido"]."
		order by
		   produtos_varejo.nome_produtos_varejo
	";
    $produtos = $MySQL->query($produtos_string);

     while(list($grupo, $produto_nome, $preco_produto, $quantidade, $semitotal)=$MySQL->fetch_row($produtos))
   {
	      $texto.= 
	  "    
		 <tr>
			  <td align=left>".$produto_nome."</td>				
			  <td align=right>R$ ". number_format($preco_produto, 2, '.', '')."</td>
			  <td align=center>".$quantidade."</td>
			  <td align=right>R$ ". number_format($semitotal, 2, '.', '')."</td>
		  </tr>
	   ";
  }
  $texto.=   
  "	
	 <tr><td colspan=4><br /> <br /></td></tr>
       </table>
  ";


  require_once("../global/funcoes_php/dompdf/dompdf_config.inc.php");
     $pdf = new DOMPDF();

  $html = '<html>
			  <head>
			  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
				<style type="text/css">
				   table.collapse 
				   {
					 border-collapse: collapse;
					 border-spacing: 1px;
				   }
				   body 
				   {
                        	font-size: 12px;
                      } 
				</script>
			  </head>
			  <body>
			  <script type="text/php">
				if ( isset($pdf) ) 
				{
					$font = Font_Metrics::get_font("Helvetica", "Bold");
					$pdf->page_text(827, 20, "Pagina: {PAGE_NUM} de {PAGE_COUNT}", $font, 12, array(0,0,0));
				 }
			   </script>
			  '. $texto .'<br /><br />'. $texto .'<br /><br />'. $texto .'<br /><br />
			  </body>
			</html>';



$pdf->load_html($html);
$pdf->set_paper('legal', 'landscape');
$pdf->render();
$pdf->stream("pdf/nota.pdf");
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

dompdf é este?

http://code.google.com/p/dompdf/

 

Se for, talvez seja por um bug, afinal ainda é um beta. Tem como ajustar a margem da página? talvez se você aumentar a margem... Tente verificar se o seu HTML é válido usando o validador do W3C.

 

Eu conheço um outro projeto chamado HTML2PDF que me parece um pouco mais consistente, e já saiu do 'beta'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.