Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
Guest - Roger -

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

Question

Guest - Roger -

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 não foi para a linha de baixo e ainda no pdf apareceu assim: "valor1<br>valor2" Tambem não 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");
  $pdf->Cell(70.3, 26.5, $a , 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]

Me ajudem por favor. já procurei na web exemplos por dias, mas simplismente

parece que não existe isso !!!

Muito obrigado.

Roger.

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148131
    • Total Posts
      643434
×
×
  • Create New...