Ir para conteúdo
Fórum Script Brasil
  • 0

Relatório Dinâmico De Php Em Pdf


leonardocdc

Pergunta

Olá galera,

seguinte... preciso gerar relatórios dinâmicos em php... ou seja,,, através de inúmeras consultas gero o relatório. Porém para a impressão sair belezinha estava pensando em gerar o relatório em PDF...

Alguém já fez isso? unsure.gif

Andei pesquisando e encontrei uma classe em PHP. "FPDF". Alguém já usou? dry.gif

Agradeceria as dicas,

Leonardo Portilho

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

No seu php.ini tem que ta configurado para a dll do pdf

o codigo:

// cria o documento PDF

$p = pdf_new();

pdf_open_file($p);

// cálculos

$altura_celula = $tamanho_fonte+3;

$altura_titulo = $tamanho_fonte_titulo+3;

$altura_tabela = $altura - 2*$margem_vertical;

$linhas_por_pagina = intval (($altura_tabela-$altura_titulo)/$altura_celula)-1; // tirar 1 devido ao cabeçalho

$num_paginas  = ceil($total/$linhas_por_pagina);

$linha_atual = 0;

// gera as páginas

for($i=0; $i<$num_paginas; $i++)

{

    // cria nova página

    pdf_begin_page($p,$largura,$altura);

    // título do relatório

    $font = pdf_findfont($p,"Times-Bold","winansi",0);

    pdf_setfont($p, $font, $tamanho_fonte_titulo);

    $posy = $altura - $margem_vertical;

    $posx = $margem_horizontal;

    $pag_atual = $i+1;

    pdf_show_xy($p, $titulo." (página $pag_atual)", $posx, $posy);

    // cria o cabeçalho da tabela em negrito

    $font = pdf_findfont($p,"Times-Bold","winansi",0);

    pdf_setfont($p,$font,$tamanho_fonte);

    $posy -= $altura_titulo;

    $posx = $margem_horizontal;

    pdf_moveto($p, $posx, $posy-3);

    pdf_lineto($p, $largura-$margem_horizontal, $posy-3);

    pdf_stroke($p);

    for($k=0; $k<sizeof($texto_colunas); $k++)

    {

        pdf_show_xy($p, $texto_colunas[$k], $posx, $posy);

        $posx += $largura_coluna[$k];

    }

    // tira o negrito da fonte

    $font = pdf_findfont($p,"Times-Roman","winansi",0);

    pdf_setfont($p,$font,$tamanho_fonte);

    // escreve os registros

    $inicio = $linha_atual;

    $fim = $linha_atual + $linhas_por_pagina;

    if($fim > $total)

        $fim = $total;

    for($j=$inicio; $j<$fim; $j++)

    {

        $linha_atual = $j;

        $posx = $margem_horizontal;

        $posy -= $altura_celula;

       

        for($k=0; $k<sizeof($colunas_resultantes); $k++)

        {

            $valor = $result->data[$linha_atual][$colunas_resultantes[$k]];

            pdf_show_xy($p, $valor, $posx, $posy);

            $posx += $largura_coluna[$k];

        }

        $linha_atual++;

    }

    // encerra a página

    pdf_end_page($p);

}

dbx_close($con);

// encerra o documento PDF

pdf_set_parameter($p, "openaction", "fitpage");

pdf_close($p);

$buf = pdf_get_buffer($p);

$tamanho = strlen($buf);

header("Content-type:application/pdf");

header("Content-Length:$tamanho");

header("Content-Disposition:inline; filename=relatorio.pdf");

echo $buf;

pdf_delete($p);

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Não estou a conseguir configurar o PDF aki no servidor, já extraí o php_pdf.dll para a directoria do windows e alterei a linha ";extension=php_pdf.dll" para "extension=php_pdf.dll"

Mas dá-me sempre o seguinte erro:

Unknown(): Unable to load dynamic library './php_pdf.dll' - Impossível localizar o módulo especificado.

mas o ficheiro está no sitio correcto!!!

alguém me ajude!!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...