Converter arquivo PHP inteiro para PDF com quebra, cabecalho e rodapé

4,723 views
Skip to first unread message

Diego SPFC

unread,
Sep 18, 2009, 9:17:25 AM9/18/09
to list...@googlegroups.com
Bom dia pessoal,

Tenho duas tabelas em uma mesma página e gostaria de exportar para PDF.
Mas quero que cada tabela vá para uma página diferente e que em cada uma das páginas seja acrescentado um cabecalho e rodapé.

Tem como fazer isso com DOMPDF ou FPDF?

Achei a biblioteca FPDF com mais recursos, mas não encontrei uma forma de exportar uma página toda para PDF.
Encontrei umas extensoes da FPDF, como HTML2PDF, mas não serviu, pelo menos nao consegui fazer funcionar como gostaria.

Com DOMPDF, consegui exportar a página toda porém sem os detalhes que citei acima (quebra, cabecalho e rodapé):

Segue abaixo como exportei a página inteira para PDF:

<?php
$file = "arquivo.php";
ob_start();
include($file);
$html = ob_get_clean();

require_once("../lib/dompdf/dompdf_config.inc.php");
 
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper('a4', 'landscape');
$dompdf->render();
$dompdf->stream("arquivo.pdf");
?>

Resumindo: Com a DOMPDF consigo exportar tudo, mas sem as quebras, cabecalho e rodapé.
Com a FPDF, vi que tenho como criar as quebras, cabecalhos e rodapés, mas não encontrei como exportar tudo de uma vez.

Qual a solução?

--
Diego

Rodrigo Diniz Rosa

unread,
Sep 18, 2009, 9:29:33 AM9/18/09
to list...@googlegroups.com
Usando o Acrobat 9 Professional + Adolix Split and Merge PDF não da não?

Abs

Att.
Rodrigo Diniz Rosa
:: == :: == :: == :: == :: = = = = = = =
Coordenador de Projetos - Pela Estrada :: Joomla - Imprensa Oficial
rod...@pelaestrada.com.br
www.pelaestrada.com.br

Avenida Augusto de Lima, 270 - Belo Horizonte - MG

31 9120 0415

-------------------
.: Msn = Skype = Twitter - http://meadiciona.com.br/pelaestrada

.: http://www.designup.pro.br/portfolio/pelaestrada

------------------

! EVITE A IMPRESSÃO DE E-MAILS !
 ! USESEMPREPAPELRECICLADO !

Sent from Belo Horizonte, MG, Brazil

2009/9/18 Diego SPFC <dieg...@gmail.com>

Diego

unread,
Sep 18, 2009, 9:34:58 AM9/18/09
to list...@googlegroups.com

Rodrigo, estou querendo exportar para PDF a partir de uma aplicação PHP. Clicando no botão para exportar.

ivo nascimento

unread,
Sep 18, 2009, 10:16:38 AM9/18/09
to list...@googlegroups.com
Cara...
use
http://www.php.net/manual/en/function.highlight-string.php
grave em um html ou use como stream de entrada para um pdf converter do linux no terminal

algo como html2ps > ps2pdf

2009/9/18 Diego <dieg...@gmail.com>



--
Ivo Nascimento - Iann
-------------------------------------
|   twitter: ivonascimento .     |
|   http://ianntech.com.br.      |
|   ZCE ID 227463685            |
-------------------------------------

ivo nascimento

unread,
Sep 18, 2009, 10:19:08 AM9/18/09
to list...@googlegroups.com
voce tem tambem http://www.php.net/manual/en/function.highlight-file.php


2009/9/18 ivo nascimento <ian...@gmail.com>

Diego

unread,
Sep 18, 2009, 11:10:27 AM9/18/09
to list...@googlegroups.com

Não tem como fazer isso com FPDF ou DOMPDF??

ivo nascimento

unread,
Sep 18, 2009, 11:29:15 AM9/18/09
to list...@googlegroups.com
Sim, tem.
mas ia basta ler o manual e comecar a escrever o codigo para manipular o que voce precisa.

2009/9/18 Diego <dieg...@gmail.com>

felipe moraes

unread,
Sep 18, 2009, 1:20:55 PM9/18/09
to list...@googlegroups.com
não tem ou vc não fez o loop

while( processa ) {

gera o html/tabela

faz quebra de pagina
}


felipe moraes

unread,
Sep 18, 2009, 1:23:21 PM9/18/09
to list...@googlegroups.com
deve ter algum "código html" que o html2pdf reconheça como nova página ..

Rodrigo Corrêa e Castro

unread,
Sep 18, 2009, 10:46:18 PM9/18/09
to list...@googlegroups.com
Creio que se vc colocar uma quebra de pagina em css entre as tabelas, deva funcionar.

Segue o link para vc fica mais por dentro: http://www.criarweb.com/artigos/propriedades-de-impressao-css.html

Depois me fale o que deu ok.

Qnt ao cabeçalho e rodape eles tem uma função para repetir em todas as paginas, só não me lembro qual é


Abs

2009/9/18 felipe moraes <feli...@gmail.com>

deve ter algum "código html" que o html2pdf reconheça como nova página ..







--
______________________________
Rodrigo Corrêa e Castro
Web Developer

rodrigocor...@gmail.com
+55 24 9839-2129
+55 24 3421-1956


"ECONOMIZE PAPEL - PENSE ANTES DE IMPRIMIR!"

Diego

unread,
Sep 19, 2009, 6:48:59 AM9/19/09
to list...@googlegroups.com

Consegui fazer a quebra de página com CSS, através da propriedade page-break-after

 

Antes de começar a segunda tabela coloquei uma DIV

<div class="quebra_pagina"></div>

 

E no CSS coloquei:

@media print {

.quebra_pagina {page-break-after:always;}

}

 

Só está faltando o cabeçalho e o rodapé!!

 

(Estou utilizando o DOMPDF)

 

Rodrigo, o que exatamente tem função para repetir em todas as páginas?

 

Obrigado

 

De: list...@googlegroups.com [mailto:list...@googlegroups.com] Em nome de Rodrigo Corrêa e Castro
Enviada em: sexta-feira, 18 de setembro de 2009 23:46
Para: list...@googlegroups.com
Assunto: [ PHP - Google ] Re: Converter arquivo PHP inteiro para PDF com quebra, cabecalho e rodapé

 

Creio que se vc colocar uma quebra de pagina em css entre as tabelas, deva funcionar.

Rodrigo Corrêa e Castro

unread,
Sep 19, 2009, 8:41:52 AM9/19/09
to list...@googlegroups.com

Diego

unread,
Sep 19, 2009, 2:25:16 PM9/19/09
to list...@googlegroups.com

Muito bom Rodrigo, para fazer isso eu preciso importar o arquivo cpdf_adapter.cls.php, correto?

 

Mas não estou conseguindo fazer o cabeçalho / rodapé aparecer.

 

No arquivo PHP que eu instancio dompdf, é para instanciar também CPDF_Adapter?

 

Não estou entendendo :/

 

No arquivo PHP o qual quero exportar o conteúdo, adiciono o trecho de código abaixo, correto?

 

<script type="text/php">

if (isset($pdf) ) {

 

$font = Font_Metrics::get_font("verdana", "bold");

$pdf->page_text(72, 18, "Header: {PAGE_NUM} of {PAGE_COUNT}", $font, 6, array(0,0,0));

 

}

</script>

 

 Estou tentando encontrar um site com algum exemplo aqui mas não estou encontrando.

Diego

unread,
Sep 19, 2009, 7:05:10 PM9/19/09
to list...@googlegroups.com

Rodrigo, acho que finalmente consegui entender como funciona o DOMPDF.

 

Muito obrigado pela força.

 

De: list...@googlegroups.com [mailto:list...@googlegroups.com] Em nome de Rodrigo Corrêa e Castro


Enviada em: sábado, 19 de setembro de 2009 09:42

ftr...@gmail.com

unread,
Sep 3, 2015, 4:06:44 PM9/3/15
to LISTA PHP
Diego, ainda trabalha com o DOMPDF?
Reply all
Reply to author
Forward
0 new messages