Ir para conteúdo
Fórum Script Brasil
  • 0

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


Guest - Roger -

Pergunta

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.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...