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
Edição feita por: rogernem, 09/03/2005, 10:08.