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

Classes Pdf


kandrade

Pergunta

bom dia!!!

estava pesquisando e vi muitas classes para gerar arquivos pdf, então queria saber a opinião de voces

utilizo banco de dados postgre e quero apenas criar um relatório com o resultado da consulta do banco. Qual a melhor classe para se fazer isso?

agradeço.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Uma outra muito boa é a classe FPDF

essa talvez é a mais conhecida, achei ela mais simples, mas não consegui fazer rodar o codigo.

Costumo usar a R&OS

é fácil de usar e bem completa.

com essa eu cheguei mais longe, gerei o pdf, falta ajustar alguns detalhes.

Acho que a mais eficiência e simples é a FPDF mesmo.

Tem esse arquivo aqui que é pra quem ainda tem dúvidas de como utilizá-la.

valeu, vou ler esse arquivo, se tiver dúvidas, volto a postar!!!

obrigado a todos.

Link para o comentário
Compartilhar em outros sites

  • 0

ficou legal usando a classe que o helton indicou

o método ezTable($array) já cria a tabela pra voce, bem pratico.

<?
// banco
$con_string = "host=localhost port=5432 dbname=transformadores user=postgres";
$bdcon = pg_connect($con_string);

// classe pdf
include '../fpdf/class.ezpdf.php';
//Iniciando com fonte normal
$pdf=new Cezpdf('a4','landscape');
$pdf->SelectFont('../fpdf/fonts/Helvetica.afm');
// fim da inicializacao da classe

$consulta = "SELECT s.descricao, s.observacao, s.data, f.nome, e.nserial FROM servicos s INNER JOIN funcionarios f ON s.funcionario_id=f.id INNER JOIN equipamentos e ON s.equip_id=e.id where e.id=" . $_POST["equip"];
$result=pg_query($bdcon, $consulta);

   //echo $consulta;
   if  (!$result) {
      //echo "não foi possivel executar a consulta";
   }
   if (pg_num_rows($result) == 0) {
      //echo "não tem dados";
   }
   else {
   $data=array();
      while ($row = pg_fetch_array($result)) {
         array_push($data, array('Transformador'=>$row[4], 'Interventor'=>$row[3], 'Data'=>$row[2], 'Servico'=>$row[0], 'Observacoes'=>$row[1]));
         //array('id'=>$row[0], 'nome'=>$row[1])
         //$pdf->ezTable($row);
         //$pdf->ezStream();
      }
      //print_r($data);
      $pdf->ezTable($data);
      $pdf->ezStream();
  }
   pg_close($bdcon);
?>

obrigado pela ajuda de todos!!!

Link para o comentário
Compartilhar em outros sites

  • 0

<?php

include 'lib/ezpdf/class.ezpdf.php';

include 'class/Conexao.Class.php';

$pdf = new cezpdf('A4'); //instancia classe aqui voce poderá definir o tipo de papel a ser utilizado (A4, A5, A6, A7, e outros)

$pdf->selectFont('lib/ezpdf/fonts/Helvetica-Bold.afm'); // Seleciona a fonte a ser utilizada na geracao do PDF

$obj_bd = new bd;

$obj_bd->conecta();

$obj_bd->seleciona_bd();

$sql ="

SELECT

Cadastro.IdCadastro,Cadastro.Nome,Cadastro.Email,Usuario.Cadastro_IdCadastro,Usuario.CPF,Usuario.Sexo,

Usuario.NomeUsuario

FROM

Cadastro INNER JOIN Usuario ON

Cadastro.IdCadastro = Usuario.Cadastro_IdCadastro";

$rs = mysql_query( $sql );

$dadosTb = array();

while( $linha = mysql_fetch_array( $rs ) )

{

$dadosTb [] = array(

'codigo'=>$linha['idCadastro'],

'nome' =>$linha['Nome'],

'email'=>$linha['Email'],

'cadastro'=>$linha['Cadastro_idCadastro'],

'cpf'=>$linha['CPF'],

'sexo'=>$linha['Sexo'],

'nomeusuario'=>$linha['NomeUsuario'],

);

}

$titulos = array(

'codigo' =>'<b>Código Cadastro</b>',

'nome' =>'<b>Nome</b>',

'email' =>'<b>Email</b>',

'cadastro' =>'<b>Código Usuário</b>',

'cpf' =>'<b>CPF</b>',

'sexo' =>'<b>Sexo</b>',

'nomeusuario' =>'<b>Nome Usuário</b>',

);

$opcoes = array(

'width' => '450', 'fontSize' => '10',

'xOrientation' => ('center')

);

//xOrientation' => 'left','right','center'; define a posicao da tabela na folha

//'fontSize' => 10 // tamanho da fonte na tabela

//'width'=> 600 // tamanho da tabela

$pdf->addJpegFromFile('img/logo1.jpg',200,$pdf->y-230,230,0);

$options = array('justification'=>'center');

$pdf->ezText("<b>Dados do Funcionário</b>\n",18,$options);// Define o texto do seu pdf, e o tamanho da fonte;

$pdf->ezTable($dadosTb,$titulos,'',$opcoes); //define os dados que irão na tabela, titulos e outras especificacoes

$pdf->ezStream(); //Escreve a saida do PDF via stream;

?>

esta imprimindo certo! mais não esta imprimindo a parte que vem do banco ficando somente os nomes dos campos, alguém poderia me ajudar? desde já agradeço...

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,2k
    • Posts
      652k
×
×
  • Criar Novo...