1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Php -> pdf

Discussão em 'Web Development' iniciada por Crypter, 29 de Agosto de 2008. (Respostas: 21; Visualizações: 1128)

  1. Crypter

    Crypter Power Member

    Viva amigos! tenho um formulario que tenho k passar pra pdf! ele ja funciona! o problema é ordenar akilo! vou por aki um bocado do codigo..
    Código:
     
    class PDF extends FPDF
     {
     function Header()
     {
      $this->Image('http://www...caminho imagem.png',10,8,15);
     $this->SetFont('Arial','I',14);
     $this->Cell(80);
    //Titulo
     $this->Cell(30,10,'Titulo',1,0,'C');
      }
      //Rodapé
     function Footer()
     {//Posição - 1,5cm a partir do fundo
      $this->SetY(-40);
      //Arial italic 8
       $this->SetFont('times','I',8);
    //Numero da pagina
     $this->Cell(0,10,'Página '.$this->PageNo().'/{nb}',0,0,'C');
    }
     }
        $pdf=new PDF();
        $pdf->open();
        $pdf->AliasNbPages();
        $pdf->AddPage();
        $pdf->SetFont('Arial','B',12);
        $pdf->Cell(10,10,$texto,$_POST['nome'],0,1);
        $pdf->SetFont('');
       $pdf->Output();
       ?>
    
    Preciso de ajuda é em ordenar isto! ou seja! conforme aki ta, apenas aparece o nome colocado no form! mas precisa de ter texto antes a dizer p.e. Nome:...

    tou farto de tentar e nao consigo que apareça na mesma linha! se alguem me conseguir explicar como se faz agradecia!
     
  2. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Então em vez de
    Código:
        $pdf->Cell(10,10,$texto,$_POST['nome'],0,1);
    não podes pôr
    Código:
        $pdf->Cell(10,10,$texto,"Nome: " . $_POST['nome'],0,1);
    ?
     
  3. Crypter

    Crypter Power Member

    Que lol!! aqui a ver postado é k descobri o meu erro! tenho la a variavel $texto, que eskeci-me de apagar! Kayvlim! sim da! nao dava antes pk tinha la a porra do $texto!! PRECISO DE FERIAS!!!
    mas continua nao tar bem configurado, pois ele ta a escrever logo no inicio da pag! embora tenha a funcçao header definida!
    como se faz para começar a escrever so dp dela?
     
  4. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Experimenta escrever $pdf->Header() depois do $pdf->open().
     
  5. Crypter

    Crypter Power Member

    Kayvlim,nao funciona . já tinha experimentado dessa maneira e nao da :S!não entendo porque! obrigado desde ja por tares a ajudar :D!
     
  6. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Ora essa :)

    Mostra também a classe FPDF, porque só assim não sei ao certo o que é que aquilo faz.
     
  7. Crypter

    Crypter Power Member

    o fdpf ta num .php á parte, pois é muito extenso!por isso tenho á parte pra dp chamar!
    Código:
    define('FPDF_FONTHPATH','font/');
    require('fpdf.php');
    
    do resto, exceptuando o insert na bd, e o restantes campos do form, esse o codigo k tenho...
     
  8. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Pois, mas sem isso eu não sei o que o código faz, e o melhor que faço é dar tiros no escuro :x
    Como por exemplo, dizer-te para pôres $pdf->Header(); por baixo de cada $pdf->AddPage(); :P
     
  9. Crypter

    Crypter Power Member

    compreendo perfeitamente!mas sao kuase 1800 linhas de codigo!!:D!
    senao te importas, fica aki o link de onde podes sacar o fpdf! agradeço imenso a ajuda, poix tenho o projecto de onde isto vai ser aplicado, pra entregar ate 5ª feira!! e ja ando a bater com a cabeça nas paredes

    link: fdpf
     
  10. geoblast

    geoblast Power Member

    Para configurares a página tens que indicar as margens (setMargins)

    PHP:
    $pdf=new PDF();
    $pdf->SetMargins(20,50,20);
    As tuas margens têm que ficar situadas abaixo do que definiste no header.
     
  11. Crypter

    Crypter Power Member

    explica-me la so esses (20,50,20)....
    esquerda,cima,direita??
     
  12. geoblast

    geoblast Power Member

    Olá,

    Exacto, desculpa, esqueci-me de indicar a ordem!!!
     
  13. Crypter

    Crypter Power Member

    Preciso de uma sugestão! este pdf, é para aparecer com informações vindas de um formulario, onde vai ter muita informação! nome, bi, nif,.....
    graficamente como fica melhor? logo e titulo em cima, informaçao listada e mais nada?
    ou axam k devo meter tabelas, ou algo parecido?
     
    Última edição: 31 de Agosto de 2008
  14. geoblast

    geoblast Power Member

    FPDF

    Olá,

    As tabelas permitem-te sempre segmentar melhor a informação, tornando-a mais legível. Tens apenas que ter em atenção que que tanto a função Cell como a MultiCell não se ajustam ao tamanho do string que vais imprimir, pelo que tens que ler primeiro o tamanho do maior string para ajustares a tabela.
     
  15. Crypter

    Crypter Power Member

    pois.. conheces algum sitio onde possa ir buscar um exemplo de passagem de formulario para pdf?
     
  16. geoblast

    geoblast Power Member

  17. Crypter

    Crypter Power Member

    já! e tenho inclusive alguns livros de php aqui ao meu lado! mas todos dão exemplos onde a listagens dos dados é dada na vertical! nao na horizontal.. e isso num formulário nao pode ser :(!
     
  18. geoblast

    geoblast Power Member

    À partida, para pores os dados e labels na horizontal podes definir Cell's ou MultiCell's na mesma linha, com dimensões definidas. Outra hipótese é estenderes a classe, criando um método que te converta as tags do html em métodos da classe FPDF. Aí podes dispor os dados em html e depois realizar a conversão e impressão.

    Não estou é a perceber é o porquê do formulário horizontal. Podes postar aqui o código, para ver??
     
  19. Crypter

    Crypter Power Member

    Posto sim! mas eskece la o formulario na horizontal! preciso mesmo é k fica um formulario orientado na vertical!! :wow:
    Código:
            <table cellspacing="1" cellpadding="1" width="100%" border="0">
            <tbody>
               <tr>
              <td width="10%"></td>
             <td><FONT COLOR="#778B00">Formulário de Requerimentos</FONT></td>
            </tr>
         <td><br></td>  
        <!--Formulário-->
          <form name="registo" method="post" onsubmit="return validate_form(this)"> 
         <tr>
         <td width="30%">Nome </td>
         <td>
         <input name="nome" type="text" size="50" maxlength="50" tabindex="1">     </td>
         </tr>
      
         <tr>
          <td width="30%">Estado Civil </td>
          <td>
          <input name="estado" type="text" size="18" maxlength="18" tabindex="2"></td>
         </tr>
         <tr>
          <td width="30">Nascido em:</td>
          <td>
          <input name="nascido" type="text" size="50" maxlength="50" tabindex="3"></td>
         </tr>
         <tr>
          <td>Bilhete de Identidade:</td>
          <td>
          <input name="BI" type="text" size="18" maxlength="10" tabindex="4"></td>
         </tr>
         <tr>
          <td> Emitido em:</td>
          <td>
          <input name="emitido" type="text" size="18" maxlength="18" tabindex="5"></td>
         </tr> 
         <tr>
          <td>Arquivo Identificação:</td>
          <td>
          <input name="arquivo" type="text" size="18" maxlength="18" tabindex="6"></td>
         </tr>
      <tr>
         <td>Localidade:</td>
          <td>
          <input name="localidade" type="text" size="30" maxlength="30" tabindex="7"></td>
         </tr>   
         <tr>
          <td>Contribuinte:</td>
          <td>
          <input name="nif" type="text" size="9" maxlength="9" tabindex="8"></td>
         </tr>
         <tr>
          <td>Filho(a) de:</td>
           <td>      <input name="pai" type="text" size="50" maxlength="50" tabindex="9"> (Pai)</td>
    
           </tr>
         <tr>
          <td>e de:</td>
           <td>      <input name="mae" type="text" size="50" maxlength="50" tabindex="10"> (Mãe)</td>
           </tr>
           <tr>
           <td width="10%" valign="top">Morada:<b>(COMPLETA)</b></td>
           <td><textarea name="morada" cols="46" rows="4" tabindex="11"></textarea> </td>
           </tr>
    
         <tr>
          <td>Natural de:</td>
          <td>
          <input name="freguesia" type="text" size="40" maxlength="40" tabindex="12"> (Freguesia)</td>
         </tr>
         <tr>
          <td></td>
          <td>
          <input name="concelho" type="text" size="40" maxlength="40" tabindex="13"> (Concelho)</td>
         </tr>
         <tr>
          <td>Profissão:</td>
          <td>
          <input name="profissao" type="text" size="40" maxlength="40" tabindex="14"></td>
         </tr>
         <tr>
          <td>Número de eleitor:</td>
          <td>
          <input name="eleitor" type="text" size="12" maxlength="12" tabindex="15"></td>
         </tr>
         <tr>
          <td>Vem requerer: </td>
          <td>
          <input name="requer" type="text" size="50" maxlength="60" tabindex="16"></td>
         </tr>
         <tr>
          <td>Para efeitos de:</td>
          <td>
          <input name="efeitos" type="text" size="50" maxlength="60" tabindex="17"></td>
         </tr>
           <tr>
           <td width="10%" valign="top">Indicações complementares: </td>
           <td><textarea name="compl" cols="46" rows="4" tabindex="18"></textarea></td>
           </tr>
         <tr>
          <td>Email:*</td>
          <td>
          <input name="email" type="text" size="40" maxlength="40" tabindex="19"></td>
         </tr>
    <tr><td></td>
    </tr>
              <tr>
             <td>&nbsp;</td>
             <td>
                <p>
                  <input name="btnSign" type="submit" value="Submeter" >
                  &nbsp;&nbsp;
                  <input type="button" name="cancelar" value="Cancelar" style="width:80px;" tabindex="3" onClick="window.history.back()">          
                  </p></td>
        <tr>
         <td></td>
         <td><br></td>
        </tr>
        </form>   
        </td>
      </tr>
        </tbody>
     </table>
    
    Espero que fiques com uma ideia de como é o formulário! e me possas ajudar..

    P.S.- ninguem tem aí uns diaszitos de ferias que queira trocar comigo?????:002:
     
  20. geoblast

    geoblast Power Member


    Ok. Daqui a pouco já te passo um exemplo!
     

Partilhar esta Página