fernandotrilha Postado Agosto 18, 2015 Denunciar Share Postado Agosto 18, 2015 Pessoal, preciso colocar o numero de paginas, cabeçalho e rodapé,em um pdf gerado pelo DOMPDF. Alguém já usou ele? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wootzor Postado Agosto 18, 2015 Denunciar Share Postado Agosto 18, 2015 Nunca usei a biblioteca mas tens aqui exemplos que podem ser uma ajuda. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fernandotrilha Postado Agosto 18, 2015 Autor Denunciar Share Postado Agosto 18, 2015 Sim, já tinha visto estes exemplos, tentei utilizar eles, mas não sei ao certo onde inserir ele no meu código. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wootzor Postado Agosto 18, 2015 Denunciar Share Postado Agosto 18, 2015 Como disse, nunca usei a biblioteca mas podes mostrar a parte relevante do teu código para o caso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fernandotrilha Postado Agosto 19, 2015 Autor Denunciar Share Postado Agosto 19, 2015 Sim,posso sim... <?phpob_start();$codcliente = $_SESSION ['codigo'];$iphost = "xxx.xxx.xxx.xxx";$usersql = "user";$senhasql = "password";$myDB = "banco";$dbhandle = mssql_connect ( $iphost, $usersql, $senhasql ) or die ( "Erro ao conectar com o servidor" );mssql_select_db ( $myDB, $dbhandle ) or die ( "Erro ao conectar a Database" );/* select a database to work with */$selected = mssql_select_db ( $myDB, $dbhandle ) or die ( "Couldn't open database $myDB" );/* declare the SQL statement that will query the database */$query = " SELECT tbpec.nroe_p, tbpec.nrop_p, tbpec.pedp_p, tbpec.itep_p, tbpec.larp_p, tbpec.altp_p, tbpec.arep_p, tbpec.prep_p, tbcli.nroc_c, tbcli.nomc_c, tbsta.sigs_s, tbmec.decm_m, tbcor.sigc_c, tbtam.sigt_t, tbpec.clip_p, tbrot.nror_r, tbpec.nrom_p, tbpec.nrot_pFROM dbo.tbpec AS tbpec INNER JOIN dbo.tbsta AS tbsta ON tbpec.nroe_p = tbsta.nroe_s AND tbpec.stap_p = tbsta.nros_s AND tbpec.nroe_p = tbsta.nroe_s AND tbpec.stap_p = tbsta.nros_s INNER JOIN dbo.tbmec AS tbmec ON tbpec.nroe_p = tbmec.nroe_m AND tbpec.nrom_p = tbmec.nrom_m INNER JOIN dbo.tbcor AS tbcor ON tbpec.nroc_p = tbcor.nroc_c INNER JOIN dbo.tbtam AS tbtam ON tbpec.nrot_p = tbtam.nrot_t INNER JOIN dbo.tbcli AS tbcli ON tbpec.nroe_p = tbcli.nroe_c AND tbpec.clip_p = tbcli.nroc_c LEFT OUTER JOIN dbo.tbdro AS tbdro ON tbpec.nroe_p = tbdro.nroe_d AND tbpec.nrol_p = tbdro.nrol_d AND tbpec.nrop_p = tbdro.nrop_d INNER JOIN dbo.tbroi AS tbroi ON tbcli.nroe_c = tbroi.nroe_r AND tbcli.nroc_c = tbroi.nroc_r INNER JOIN dbo.tbrot AS tbrot ON tbroi.nroe_r = tbrot.nroe_r AND tbroi.nror_r = tbrot.nror_r WHERE tbsta.fins_s = 'N' AND tbcli.nroc_c = '$codcliente' AND tbcli.nroe_c = '1' AND (tbsta.sigs_s='INS' OR tbsta.sigs_s='OTI' OR tbsta.sigs_s='COR'OR tbsta.sigs_s='CON'OR tbsta.sigs_s='DIG'OR tbsta.sigs_s='MAR'OR tbsta.sigs_s='FIN'OR tbsta.sigs_s='ACA')ORDER BY tbpec.pedp_p ";/* execute the SQL query and return records */$result = mssql_query ( $query ) or die ( 'A error occured: ' . mysql_error () );/* Cria array com indice, uma espécie de objeto */$x = '1';$num_fields = mssql_num_fields ( $result );while ( $row = mssql_fetch_array ( $result ) ) { for($j = 0; $j < $num_fields; $j ++) { $name = mssql_field_name ( $result, $j ); $object [$x] [$name] = $row [$name]; } $x ++;}/* free result set memory */mssql_free_result ( $result );/* close the connection */mssql_close ( $dbhandle );/* Quantidade de Objetos Criados */$ii = count ( $object );/* Primeira inicialização da Variavel que vai somar as Metragens */$TotalMetragem = '0';/* Inicializacao da variavel com o nome do cliente */$nomeCliente = $object ['1'] ['nomc_c'];?><header> <div align="center"> CONSULTA <h5>CLIENTE: <?php echo $nomeCliente; ?></h5> </div> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></header><!-- Show results in table --> <table align="center" cellspacing="5" bordercolor="#000000" id="myTable"> <thead> <tr> <th align="center" bgcolor="999999">PREVISAO</th> <th colspan="2" align="center" bgcolor="999999">PED/ITEM</th> <th align="center" bgcolor="999999">STATUS</th> <th align="center" bgcolor="999999">PECA</th> <th colspan="2" align="center" bgcolor="999999">VIDRO</th> <th align="center" bgcolor="999999">ALT</th> <th align="center" bgcolor="999999">LAR</th> <th width="60" align="center" bgcolor="999999">MET</th> </tr> </thead> <tbody> <?php for($i = 1; $i <= $ii; $i ++) { /* Loop de acordo com a quantidade de objetos formados */ $Data = date ( 'd/m/Y ', strtotime ( $object [$i] ['prep_p'] ) ); /* Soma as metragens do PEDIDO ATUAL */ $TotalMetragem += $object [$i] ['arep_p']; ?> <tr align="center"> <td align="center"><?php echo $Data; ?></td> <td align="center"><?php echo $object[$i]['pedp_p']; ?></td> <td align="center"><?php echo $object[$i]['itep_p']; ?></td> <td align="center"><?php echo $object[$i]['sigs_s']; ?></td> <td align="center"><?php echo $object[$i]['nrop_p']; ?></td> <td align="center"><?php echo $object[$i]['sigt_t']; ?></td> <td align="center"><?php echo $object[$i]['sigc_c']; ?></td> <td align="center"><?php echo $object[$i]['altp_p']; ?></td> <td align="center"><?php echo $object[$i]['larp_p']; ?></td> <td align="center"><?php echo $object[$i]['arep_p']; ?></td> </tr> <?php /* Compara se os pedidos são diferentes, se sim exibe Total Matragem */ if (@$object [$i] ['pedp_p'] != @$object [$i + 1] ['pedp_p']) { ?> <tr> <td colspan="12" align="right" bgcolor="999999">TOTAL: <?php echo $TotalMetragem; ?></td> </tr> <?php $TotalMetragem = '0'; /* Reinicio a Variavel para o próximo pedido */ } ?> <?php } ?> </tbody></table><br><footer> <div align="center">Este relatório foi gerado no dia <?php setlocale(LC_ALL, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese'); date_default_timezone_set('America/Sao_Paulo'); $data = strftime("%d/%m/%Y à s %T"); echo $data; ?> </div></footer> <?php //ob_start(); $html = ob_get_contents(); ob_end_clean(); include_once "dompdf/dompdf_config.inc.php"; $dompdf = new DOMPDF(); $dompdf->load_html($html); $dompdf->set_base_path("../"); $dompdf->set_paper("A4"); $dompdf->render(); header("Content-type: application/pdf"); echo $dompdf->output();//Mostra na tela //$dompdf->stream("relatorio-$obj.pdf"); //realiza o download ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wootzor Postado Agosto 19, 2015 Denunciar Share Postado Agosto 19, 2015 Utilizando o seguinte código, consegues obter algo parecido com:<?php include_once("dompdf/dompdf_config.inc.php"); $dompdf = new DOMPDF(); $dompdf->load_html($html); $dompdf->set_base_path("/"); $dompdf->set_paper("A4"); $pdf = $dompdf->render(); $canvas = $dompdf->get_canvas(); $font = Font_Metrics::get_font("helvetica", "bold"); $canvas->page_text(510, 18, "Pág. {PAGE_NUM}/{PAGE_COUNT}", $font, 6, array(0,0,0)); //header $canvas->page_text(270, 792, "Copyright © 2015 - Empresa XPTO", $font, 6, array(0,0,0)); //footer header("Content-type: application/pdf"); echo $dompdf->output(); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fernandotrilha Postado Agosto 20, 2015 Autor Denunciar Share Postado Agosto 20, 2015 Poxa,legal, bem isso que precisava mesmo, mas uma duvida, tem como eu colocar no cabeçalho, pra repetir para outras paginas o "CONSULTA / Cliente:..." Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fernandotrilha Postado Agosto 20, 2015 Autor Denunciar Share Postado Agosto 20, 2015 Tentei usar o seguinte pra colocar uma imagem como cabeçalho também: $imagem = ImageCreatefrompng('/var/www/Consulta/images/logo.png'); $canvas->image($imagem, 50, 50, 50, 50); Mas acho que minha linha de raciocínio não foi muito boa,ele da erro no pdf. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
fernandotrilha
Pessoal, preciso colocar o numero de paginas, cabeçalho e rodapé,em um pdf gerado pelo DOMPDF.
Alguém já usou ele?
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.