How to use the setX () and setY () methods of the FPDF library.

1

I have already researched the internet but did not get clarification on the subject, I wonder if anyone could demonstrate a procedure to use these methods.

I'm creating a header with the library fpdf and I need to use the setX and setY methods to adjust my content , but I do not know how to do that. How do I use these functions correctly?

    
asked by anonymous 10.02.2015 / 17:42

3 answers

1

This is to define the positioning of the element that you are going to make the output, it works like a pointer, every "set" it places its pointer in the desired position:

//posiciona verticalmente 
$pdf->SetY("20"); 

//posiciona horizontalmente 
$pdf->SetX("10"); 

You can also define:


//define as fontes atraves da pasta font 
define('FPDF_FONTPATH','font/'); 
/* instancia a classe FPDF passando a Orientação da página,
   medida e Tipo de Folha; */ 
$pdf = new FPDF("P","mm","A5"); 

//fonte do documento
$pdf->SetFont('arial','',10); 

//posição na vertical no caso -2 seria o limite da margem 
$pdf->SetY("-2"); 

//::::::::::::::::::Cabecalho:::::::::::::::::::: 
//escreve o titulo.... 
//largura = 0 
//altura = 5 
//texto
//borda = 0 
//quebra de linha = 0 
//alinhamento = L (esqueda) 
$pdf->Cell(0,5,'titulo blábláblá',0,0,'L'); 

//escreve um subtítulo... 
//largura = 0 
//altura = 5
//texto 
//borda = 0 
//quebra de linha = 1 
// alinhamento = R (direita) 
$pdf->Cell(0,5,'subtítulo blábláblá',0,1,'R'); 

//escreve uma linha qualquer... 
//largura = 0 
//altura = 0 
//texto
//borda = 1 
//quebra de linha = 1 
// alinhamento = L (esqueda) 
$pdf->Cell(0,0,'',1,1,'L'); 

//quebra de linha 
$pdf->Ln(8); 

//::::::::::::::::::Define o conteúdo de texto::::::::::::::::::::: 
//tamanho de fonte e tipo 
$pdf->SetFont('times','',8); 

//posiciona verticalmente o texto 
$pdf->SetY("20"); 

//posiciona horizontalmente e horizontalmente
$pdf->SetX("10"); 

//escreve o conteudo de texto 
$texto="Lorem ipsum dolor sit amet, consectetur adipiscing elit. 

Morbi commodo ut erat vitae ultrices. Sed urna nisi, sodales sed lorem vel, dictum euismod orci. 

Donec viverra vulputate leo, a laoreet erat posuere ac. Quisque vel leo neque. Aliquam in diam semper nibh mattis pellentesque. 

Donec nulla nibh, ornare sit amet lorem nec, ornare consequat est. Mauris molestie lorem eget euismod tristique. 

" ;
//escreve a saída do texto
$pdf->Write(5, $texto); 

//::::::::::::::::::definindo o rodapé da página:::::::::::::::::::::: 
//posiciona verticalmente 
$pdf->SetY("185"); 

//define a fonte do rodapé
$pdf->SetFont('arial','',8); 
//se quiser colocar uma data no rodapé... 
$data = date("d/m/Y"); 
$formtData="criado em ".$data; 
$pdf->Cell(0,0,'',1,1,'L'); 
$pdf->Cell(0,4,'São Paulo - SP',0,1,'R'); 
//faz a saída da data
$pdf->Cell(0,4,$formtData,0,0,'R');

//executa a criação do arquivo
$pdf->Output("helloworld.pdf", "I"); //S (salvar) ou I (imprimir) 
    
17.08.2015 / 15:32
0

So, it can be of help to somebody! The usage is:

$var->setX(valor eixo x);
$var->Cell();

$var->setY(valor eixo y);
$var->Cell();

$var->setXY(eixo x, eixo y);
$var->Cell();
    
10.02.2015 / 19:50
0

Hello, then according to the above comment

Let's say you define these parameters

// Definir o SetX
$pdf->SetX("20");
// Definir o SetY
$pdf->SetY("30");

All the elements you create below will be in this location. To define different places for each element, you must always define another X, Y before

For example:

$pdf->SetX("20"); // Aqui eu estou definindo o X da primeira célula
$pdf->SetY("30"); // Aqui eu estou definindo o X da primeira célula
$pdf->Cell(0,0,'',1,1,'L'); // Aqui eu estou criando a primeira célula

// Agora eu quero outra célula em outra posição, é só eu definir o X, Y novamente
$pdf->SetX("10"); // Aqui eu estou definindo o X da segunda célula
$pdf->SetY("5"); // Aqui eu estou definindo o X da segunda célula
$pdf->Cell(0,0,'',1,1,'L'); // Aqui eu estou criando a segunda célula

And so on until you finish the amount of cell you want

    
27.09.2018 / 20:47