Jump to content


Photo

Não é Possível Fazer Isso?! Pdf


  • Faça o login para participar
2 replies to this topic

#1 rogernem

rogernem

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 09/03/2005, 10:07

Pessoal, estou gerando um arquivo pdf para producao de etiquetas (6180)
Consegui deixar 3 etiquetas por linha e com 10 linhas por pagina dando um total de 30 etiquetas por pagina.

-------------
| 1 | 2 | 3 |
-------------
| 4 | 5 | 6 |
-------------
| 7 | 8 | 9 |
etc

Porem, aqui que vem o ENORME problema:
$a="valor1";
$b="Valor2";
$pdf->Cell(70.3, 26.5, $a , 1, 0, 'C');
Eu gostaria de colocar nessa celula 5 campos (no momento so tem 1 = $a), um em baixo do outro. Tentei usar o <br>: $a."<br>".$b mas o $b nao foi para a linha de baixo e ainda no pdf apareceu assim: "valor1<br>valor2"
Tambem nao adianta usar $pdf->Ln(); pois ele so vai pular a linha depois que a celula toda for gerada.

Segue abaixo todo o codigo. Gostaria de melhorar os itens 1 e 2, comentados no codigo abaixo:
//* ITEM 1 - O QUE DESEJO FAZER
//* ITEM 2 - MELHORAR: deve haver outra forma de quebrar a linha

Como seria possivel fazer isso???
Estou usando o fpdf: (fdpf

[PHP]
<?

//CONFIGURAÇÕES DO BD MYSQL 
$servidor = "localhost"; 
$usuario = "root"; 
$senha = ""; 
$bd = "pdf"; 
//TÍTULO DO RELATÓRIO 
$titulo = "Relatorio"; 
//ENDEREÇO DA BIBLIOTECA FPDF 
$end_fpdf = "../fpdf"; 
//NUMERO DE RESULTADOS POR PÁGINA 
$por_pagina = 30; 
//ENDEREÇO ONDE SERÁ GERADO O PDF 
$end_final = "gera.pdf"; 
//F-> SALVA NO ENDEREÇO ESPECIFICADO NA VAR END_FINAL 
$tipo_pdf = "F"; 

//CONECTA COM O MYSQL
$conn = mysql_connect($servidor, $usuario, $senha);
$db = mysql_select_db($bd, $conn); 
$sql = mysql_query("SELECT A.ID, A.NOME, A.ASSUNTO FROM colunistas A", $conn);
$row = mysql_num_rows($sql); 

//VERIFICA SE RETORNOU ALGUMA LINHA
if(!$row) { echo "Não retornou nenhum registro"; die; } 

//CALCULA QUANTAS PÁGINAS VÃO SER NECESSÁRIAS
$paginas = ceil($row/$por_pagina); 

//PREPARA PARA GERAR O PDF
define("FPDF_FONTPATH", "$end_fpdf/font/");
require_once("$end_fpdf/fpdf.php"); 
$pdf = new FPDF('P','mm','Letter'); 

  $pdf->SetTopMargin(7.1);
  $pdf->SetLeftMargin(0); 
  $pdf->SetRightMargin(0);

//INICIALIZA AS VARIÁVEIS
$linha_atual = 0;
$inicio = 0; 

//PÁGINAS
for($x=1; $x<=$paginas; $x++) { 

//VERIFICA
$inicio = $linha_atual;
$fim = $linha_atual + $por_pagina;
if($fim > $row) $fim = $row;

$pdf->Open(); 
$pdf->AddPage(); 
$pdf->SetFont("Arial", "B", 10); 

	//EXIBE OS REGISTROS 
	for($i=$inicio; $i<$fim; $i++) {

  //* ITEM 1 - O QUE DESEJO FAZER
  //$a =mysql_result($sql, $i, "ID");
  $a="Valor1"; $b="Valor2";
  $pdf->Cell(70.3, 26.5, ($i+1)."  ".$a."<br>".$b , 1, 0, 'C');

          //* ITEM 2 - MELHORAR: deve haver outra forma de quebrar a linha
    $ia=$i;
    $id=$ia+3;
    if(   $ia==2    ||   $ia==5    || $ia==8     || $ia==11    || $ia==14    || $ia==17    ||  $ia==20    || $ia==23     || $ia==26     || $ia==29  ||
       	 $ia==35    || $ia==38    || $ia==41    || $ia==44    || $ia==47    ||  $ia==50    || $ia==53     || $ia==56     || $ia==59  ||     
       	 $ia==65    || $ia==68    || $ia==71    || $ia==74    || $ia==77    ||  $ia==80    || $ia==83     || $ia==86     || $ia==89  ||     
       	 $ia==95    || $ia==98    || $ia==101   || $ia==104   || $ia==107   ||  $ia==110   || $ia==113    || $ia==116    || $ia==119 ||     
           $ia==125    || $ia==128   || $ia==131   || $ia==134   || $ia==137   ||  $ia==140   || $ia==143    || $ia==146    || $ia==149 ||     
           $ia==155    || $ia==158   || $ia==161   || $ia==164   || $ia==167   ||  $ia==170   || $ia==173    || $ia==176    || $ia==179      
    ){

   	 $pdf->ln();
    }
    // FIM DO ITEM 2

    $linha_atual++;
       $pdf->SetAutoPageBreak('on','0.2');

  }//FECHA FOR(REGISTROS - i)
}//FECHA FOR(PAGINAS - x) 

//SAIDA DO PDF
$pdf->Output("$end_final", "$tipo_pdf");
?> 
[/PHP]

Vejam o pdf gerado em anexo para entenderem melhor tambem.
Me ajudem por favor. Ja procurei na web exemplos por dias, mas simplismente
parece que nao existe isso !!!
Muito obrigado.
Roger.

Attached Files

  • Attached File  gera.pdf   1.75KB   26 downloads

Edição feita por: rogernem, 09/03/2005, 10:08.


#2 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 09/03/2005, 11:48

\n ou chr(13) no lugar de <br>
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#3 rogernem

rogernem

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 10/03/2005, 14:01

fiz assim: $pdf->Cell(70.3, 26.5, $a."\n".$b , 1, 0, 'C');

e no pdf ficou assim: Valor1 Valor2

alguma outra sugestao?!!
valeu




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq