[RESOLVIDO] Ajuda no Zend_pdf

Zend_Json, Zend_Pdf Zend_Mail, Zend_Mime Zend_Search_Lucene

Moderador: diegotremper

[RESOLVIDO] Ajuda no Zend_pdf

Mensagempor vdsantos » Ter Nov 03, 2009 11:37 am

Olá a todos,
Construi um documento pdf em que, na hora que vou exibí-lo ele me aparece como conteúdo todo ao contrário!!! :lol: , no fluxo de trás para frente. Faço um loop em uma tabela qualquer e pego os dados para inserir em um PDF. Quando exibo o documento, os registros não começam a partir do primeiro e sim do último até o primeiro. :?

Não sei o que pode estar acontecendo ou o que possa estar fazendo de errado, o fato é que o conteúdo aparece ao contrário e eu não encontrei nada na net que possa, pelo menos, me dar uma luz do problema.

Se alguem puder me ajudar a respeito?
Obrigado.

[]'s
Editado pela última vez por vdsantos em Qui Jan 14, 2010 4:47 pm, num total de 1 vezes
vdsantos
Participante
 
Mensagens: 69
Data de registro: Seg Jun 08, 2009 2:38 pm
Localização: Guarulhos - SP

Re: Ajuda no Zend_pdf

Mensagempor vdsantos » Qui Jan 14, 2010 4:46 pm

Pesoal, só para não deixar sem resposta. Não encontrei uma solução para esse problema e também não encontrei ninguém que já tenha passado por isso, portanto, apenas inverti o fluxo de impressão das informações do PDF e ficou tudo certinho. Ou seja:

Ao invés disso:
Código: Selecionar tudo
$page1->drawText("ID..:{$arr_membros[$indice]['id']}", $x, $y+=12);


Inverti o sinal, decrementando:
Código: Selecionar tudo
$page1->drawText("ID..:{$arr_membros[$indice]['id']}", $x, $y-=12);


E assim fiz em todo o código, com estou imprimindo as infomrações dentro de um loop, foi como se ele estivesse imprimindo as infomrações de trás para frente, mas ficou na ordem correta. :?

Se alguém ain dpuder ajudar ou souber de algo que possa estar errado no código, por favor podem postar ai. segue ocódigo todo do controle que faz a criação do PDF:
Código: Selecionar tudo
public function savePdfAction(){
      
    //pegando o token
    $token = $this->getCurrentToken();
       
    //fazendo a verificação do token
    if (!$this->tokenCheck($token)) {
        $this->_helper->viewRenderer->setNoRender(true);
        $this->_helper->flashMessenger->addMessage("Erro no token amigão. Tente outraveeeeeeezzzzz.");
        $this->_redirect('/index/login');
        return false;
    }
       
      
   //pegando os dados dos membos no BD e preparando o array de dados
   $arr_membros[] = array();
   $membro = new Membro();
   $membro->getMembros(null);
   $arr_membros = $membro->getArray();
   
   //DEBUGÁSSO DO PDF
   sort($arr_membros);
   //file_put_contents("./public/tmp/bla_pdf.txt", "Debugásso do PDF..:\n" . print_r($arr_membros, 1));
      
   //criando o manipulador do pdf
   $pdf = new Zend_Pdf();
   
   //defiindo página padrão
   $page1 = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
   $pdf->pages[] = $page1;

   //Definindo o cabeçalho do pdf
   $x    = 10;
   $y    = 800;
   $cont = 0;
     
   $font1 = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD);
   $page1->setFont($font1, 20);
   $page1->drawText("Meu primeiro teste em pdf com ZEND_PDF.", 115, $y);
   $page1->drawText(" ", $x, $y-=20);
         
   //preparando dados para inserir o conteúdo dinâmico
   $font2 = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_COURIER);
   $page1->setFont($font2, 10);
         
   //formatando os campos de data e valor de acordo com o indice retornado
   foreach($arr_membros as $indice => $dados){
      //formatando a data usando o modelo Data
      $dataAux = $arr_membros[$indice]['data_nasc'];
      $data = new Data($dataAux);
      $arr_membros[$indice]['data_nasc']    = $data->__getData();
   
      //formatando o valor usando o modelo Moeda
      $rendaAux = $arr_membros[$indice]['renda'];
      $moeda = new Moeda($rendaAux);
      $arr_membros[$indice]['renda'] = $moeda->getMoeda();
                 
      //preparando os dados para serem impressos
      $page1->drawText("ID..:{$arr_membros[$indice]['id']}", $x, $y-=12);
      $page1->drawText("Email..:{$arr_membros[$indice]['email']}", $x, $y-=12);
      $page1->drawText("Nome1..:{$arr_membros[$indice]['fistName']}", $x, $y-=12);
      $page1->drawText("Nome2..:{$arr_membros[$indice]['lastName']}", $x, $y-=12);
      $page1->drawText("Data de Nasc...:{$arr_membros[$indice]['data_nasc']}", $x, $y-=12);
      $page1->drawText("Renda...:{$arr_membros[$indice]['renda']}", $x, $y-=12);
      $page1->drawText("Acesso...:{$arr_membros[$indice]['acesso']}", $x, $y-=12);
      $y-=20;
      ++$cont;
            
      if(($cont % 7) == 0){
         $page1 = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
         $pdf->pages[] = $page1;
         $font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_COURIER);
         $page1->setFont($font, 10);
         $x    = 10;
         $y    = 800;
      }
   }
       
   //gerando a saída do PDF
   $path = "./public/tmp/teste_zendPdf.pdf";
   $pdf->save($path);
         
   if(file_exists($path)){
      //gerando log de dados e msg de ok
      $this->log_db->info(date("d/m/Y H:i:s") . " - Membro {$member->fistName} gerou PDF de membros do BD!!!! ");
      $this->_helper->flashMessenger->addMessage("Usuário {$member->fistName} gerou PDF via Zend_Pdf com sucesso.");
      $this->_redirect('/index');
   }
}

Valew
[]'s
vdsantos
Participante
 
Mensagens: 69
Data de registro: Seg Jun 08, 2009 2:38 pm
Localização: Guarulhos - SP


Retornar para Mail, Formatos e Busca

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 0 visitantes