Jump to content
marcelookada

DUAS COLUNAS EM FPDF

Recommended Posts

boa tarde, estou com um problema na hora de gerar um pdf, tenho  um lista de valores, traz em while, tudo certo, mas quando ele termina a pagina ele  pula para uma nova pagina, gostaria que fosse criado um outra coluna na mesma pagina, e assim sucessivamente.

 

sou leito em fpdf.

 

$sql = new Query($bd);
	$txt = "SELECT U.CCODIUSUA,
				   U.CNOMEUSUA,
				   T.CENDETITU,
				   T.CBAIRTITU,
				   RETORNA_NOME_TIPO_LOGRADOURO(T.NENDETLOGR) NEND,
				   T.C_CEPTITU,
				   T.CCIDATITU,
				   T.CESTATITU
	FROM HSSUSUA U, HSSTITU T
	WHERE U.NNUMETITU = T.NNUMETITU
	AND U.CTIPOUSUA <> 'F'
	AND U.CTIPOUSUA = 'T'
	AND U.CSITUUSUA = 'A'
	AND T.CCIDATITU = :cidade";
  	$sql->addParam(':cidade',$_SESSION['cidade']);
  	$sql->executeQuery($txt);    
  	
	    
      
		
	while(!$sql->eof())
	{
		
	$pdf->Cell(1,4,$sql->result("CCODIUSUA"),0,1);
	$pdf->Cell(1,3,$sql->result("CNOMEUSUA"),0,1);
	$pdf->Cell($cont,4,$sql->result("NEND"),0,0);
	$pdf->Cell(1,4,$sql->result("CENDETITU"),0,1);
	$pdf->Cell(1,3,$sql->result("CBAIRTITU"),0,1);
	$pdf->Cell(16,4,$sql->result("C_CEPTITU"),0,0);
	$pdf->Cell($cont1,4,$sql->result("CCIDATITU"),0,0);
	$pdf->Cell(1,4,$sql->result("CESTATITU"),0,1);
	$pdf->Cell(1,4,'',0,1);
	$pdf->ln(2); 
	$sql->next();
	}

 

 

obrigado.

Share this post


Link to post
Share on other sites

Marcelo,  boa tarde.

 

Estou começando agora nessa área, mas humildemente, acredito que já possa ajuda-lo.
Pelo que entendi, você esta usando a biblioteca Fpdf, correto?
Então, pelo que eu estou estudando dela para que você consiga uma outra coluna na mesma pagina você tem que sobrescrever o método padrão AcceptPageBreak().  Esse método é o responsável por fazer a quebra de pagina. 

 

Segue exemplo que retirei do site do Fpdf:

function AcceptPageBreak() {

// Method accepting or not automatic page break

        if($this->col<2) {

// Go to next column

       this->SetCol($this->col+1);

// Set ordinate to top

       $this->SetY($this->y0);

// Keep on page return false; }

else {

// Go back to first column

      $this->SetCol(0);

// Page break

return true; }

 

segue o link: http://www.fpdf.org/, vai em tutorial 4, la você vai ter o exemplo completo. Acredito que te ajude.
Só uma coisa,  a linha " if(
$this->col<2) " é a que define a quantidade de colunas por página. A contagem da primeira coluna começa no zero, logo se você quiser só duas colunas por pagina, terá que colocar col<1, três colunas col<2 e asim por diante.

Espero que te ajude.

abs


 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By helkton
      oi galera estou criando um sistema para gerenciar certificado de uma escola de cursos ja fiz as condições, pra bloquear conforme as horas aulas, conforme pagamentos, agora estou preso no certificado fPDF
      consegui desenhar a primeira pagina mais o certificado precisará imprimir algumas informações no verso tbm como desenhar a segunda pagina do certificado??
      ja AddPage(), ele adiciona a nova pagina mais como desenhar nesta pagina?? atualmente consegui fazer assim, desenho os 2 pdf separado, tipo clico em um botãoFrente e pego as info da frente do certificado e outro para imprimir apenas a parte do verso rsss
      como juntar tudo e imprimir a frente e o verso
      //***** PDF *****// $pdf = new AlphaPDF(); // Orientação Landing Portraid Page /// $pdf->AddPage('L'); $pdf->SetLineWidth(1.5); // desenha a imagem do certificado $pdf->Image('certificadoBM.jpg',0,0,295); // opacidade total $pdf->SetAlpha(1); // Mostrar texto no topo $pdf->SetFont('TwClassified', '', 15); // Tipo de fonte e tamanho $pdf->SetXY(109,46); //Parte chata onde tem que ficar ajustando a posição X e Y $pdf->MultiCell(265, 10, $texto1, '', 'L', 0); // Tamanho width e height e posição //Nome_do_Aluno $pdf->SetFont('Arial', '', 30); // Tipo de fonte e tamanho $pdf->SetXY(20,90); //Parte chata onde tem que ficar ajustando a posição X e Y $pdf->MultiCell(265, 10, $nomeAluno, '', 'C', 0); // Tamanho width e height e posição // Mostrar o corpo $pdf->SetFont('Arial', '', 15); // Tipo de fonte e tamanho $pdf->SetXY(20,110); //Parte chata onde tem que ficar ajustando a posição X e Y $pdf->MultiCell(265, 10, $texto2, '', 'C', 0); // Tamanho width e height e posição // Mostrar a data no final $pdf->SetFont('Arial', '', 15); // Tipo de fonte e tamanho $pdf->SetXY(20,172); //Parte chata onde tem que ficar ajustando a posição X e Y $pdf->MultiCell(165, 10, $texto3, '', 'L', 0); // Tamanho width e height e posição $pdfdoc = $pdf->Output('', 'S'); // $certificado="arquivos/$nomeAluno.pdf"; //atribui a variável $certificado com o caminho e o nome do arquivo que será salvo (vai usar o CPF digitado pelo usuário como nome de arquivo) // $pdf->Output($certificado,'F'); //Salva o certificado no servidor (verifique se a pasta "arquivos" tem a permissão necessária) // Utilizando esse script provavelmente o certificado ficara salvo em www.seusite.com.br/gerar_certificado/arquivos/999.999.999-99.pdf (o 999 representa o CPF digitado pelo usuário) $pdf->Output(); // Mostrar o certificado na tela do navegador  
    • By Renison
      Bom dia, sou novato tanto no fórum, como nesta area, seguinte, estou com um pouco de dificuldade em gerar um PDF, na realidade, chega a gerar O PDF, mas nao coloca o resultado, segue a baixo PRINT e o codigo.
       
      ps1: tenho um sistema em PHP 5.4, sistema de clinica, estou querendo gerar relatório de glosa.
       
      <? include("frmvalidarcookie.php"); $idfatu=0; $data1=''; $data2=''; if (isset($_POST["data1"])) $data1=$_POST["data1"]; if (isset($_POST["data2"])) $data2=$_POST["data2"]; if (isset($_POST["idfatu"])) $idfatu=$_POST["idfatu"]; $sql="select b.diaexame,a.idresultados, a.idexame, e.exame as nm_exame, a.quant, a.vr_glosa, a.pa_sa, a.quant*a.pa_sa as pr_total, a.glosado, a.glosado_usu, a.glosado_dat, c.convenio as nm_convenio,p.paciente as nm_paciente,g.id as nm_id from lab_itemresultados a left join lab_resultados b on b.idresultado=a.idresultados left join lab_convenios c on c.idconvenio=b.idconvenio left join lab_exames e on e.idexame=a.idexame left join lab_pacientes p on p.idpaciente=b.idpaciente left join fatu00 f on f.id=b.idlote left join fatu02 g on g.id=f.idfatu02 where a.glosado='S' and g.id=$idfatu order by p.paciente "; echo $sql; require_once("../fpdf/fpdf.php"); class PDF extends FPDF { function Header(){ $this->SetLeftMargin(30); $this->Image('LOGO.jpg' , 72 ,12, 55 , 58,'JPG',''); $this->SetFont('Arial','',12); $this->Cell(0,10,"EMPRESA",0,1,'C'); $this->SetFont('Arial','',8); $this->Cell(0,12," Mossoró/RN",0,1,'C'); $this->SetFont('Arial','BI',10); $this->Ln(10); $this->Cell(0,14,$this->title2,0,1,'C'); $this->Ln(10); //cabeçalho da tabela $this->SetFont('arial','B',8); $this->SetFillColor(212,208,200); $this->Cell(50,15,'Data',1,0,"C",1); $this->Cell(40,15,'OS',1,0,"C",1); $this->Cell(150,15,'Convenio',1,0,"C",1); $this->Cell(150,15,'Paciente',1,0,"C",1); $this->Cell(150,15,'Exame',1,0,"C",1); $this->Cell(30,15,'Quant',1,0,"C",1); $this->Cell(40,15,'Pr.Unit',1,0,"C",1); $this->Cell(50,15,'Total',1,0,"C",1); $this->Cell(50,15,'Glosa em',1,0,"C",1); $this->Cell(50,15,'Vr. Glosa',1,0,"C",1); $this->Cell(30,15,'Fatura',1,1,"C",1); } function Footer() { $this->SetY(-20); //quanto menor,mais distante da base da folha $this->SetFont('Arial','I',8); $this->Cell(0,10,'Pagina '.$this->PageNo(),0,0,'C'); } } $pdf= new PDF("L","pt","A4"); //$pdf->title=$usuario; $pdf->title2='GLOSAS - '.$dt1.' - '.$dt2; $pdf->SetLeftMargin(30); $pdf->SetAutoPageBreak(true,32); $pdf->Open(); $pdf->AddPage(); $pdf->SetFont('Arial','',8); //$pdf->MultiCell(200,20,$sql,1,'L',false); $r=ibase_query($sql); $i=0; $t1=0; $t2=0; while($row=ibase_fetch_assoc($r)){ $pdf->Cell(50,15,dataBR($row->DIAEXAME),1,0,"C"); $pdf->Cell(40,15,$row->IDRESULTADOS,1,0,"R"); $pdf->Cell(150,15,substr($row->NM_CONVENIO,0,25),1,0,"L"); $pdf->Cell(150,15,substr($row->NM_PACIENTE,0,25),1,0,"L"); $pdf->Cell(150,15,substr($row->NM_EXAME,0,25),1,0,"L"); $pdf->Cell(30,15,tran0($row->QUANT),1,0,"C"); $pdf->Cell(40,15,tran($row->PA_SA),1,0,"R"); $pdf->Cell(50,15,tran($row->PR_TOTAL),1,0,"R"); $pdf->Cell(50,15,dataBR($row->GLOSADO_DAT),1,0,"C"); $pdf->Cell(50,15,tran($row->VR_GLOSA),1,0,"R"); $pdf->Cell(30,15,$row->NM_ID,1,1,"R"); $i++; $t1=$t1+$row->PR_TOTAL; $t2=$t2+$row->VR_GLOSA; } $pdf->SetFont('Arial','B',8); $pdf->SetFillColor(212,208,200); $pdf->Cell(610,15,"Total: ".$i,1,0,"L",1); $pdf->Cell(50,15,tran($t1),1,0,"R",1); $pdf->Cell(50,15,'',1,0,"R",1); $pdf->Cell(50,15,tran($t2),1,1,"R",1); ob_start(); $pdf->Output("arquivo.pdf","I"); ?>  


    • By Anderson R.
      Boa tarde, gostaria de saber em SQL, como trazer 2 resultados em 2 colunas diferentes do mesmo campo com valores diferentes como exemplo abaixo.
      Esta é a tabela que tenho, gostaria de trazer where D2_CF = 5401 TRAZER A QUANTIDADE EM UMA COLUNA, AND D2_CF = 5910 TRAZER A QUANTIDADE EM OUTRA COLUNA.
      Se alguém puder ajudar agradeço.
      Anderson
       
      D2_COD D2_QUANT D2_PRCVEN D2_TOTAL D2_CF 010301 10 26,86 268,6 5401 010301 1 26,86 26,86 5910
    • By Dani_Ambrosio
      Preciso criar uma coluna em uma tabela já existente, porém os dados dessa nova coluna vão depender de outra tabela
      Ex:
      tenho a tabela faturamento e nela eu preciso criar uma nova coluna que vai chamar fat_removido e os dados dessa coluna vão depender de uma outra tabela que se chama Faturamento removido.
      tanto as tabelas faturamento e a faturamento removido tem o ID_faturamento, quando o mesmo constar nas duas tabelas a nova coluna deverá ser preenchida com Sim e quando não constar deve ser preenchida com Não 
      Como faço isso?
    • By laedsonfln
      Pessoal, boa noite!
       
       
      Gostaria de mostrar 3 colunas e 6 produtos no celular utilizando o shortcode do woocommerce na página principal. 
      Criei um site de Brechó pra minha namorada usando o Wordpress + woocommerce. Tentei usar os shortcodes do woocommerce para chamar os produtos pra página principal. Até aqui tudo bem, porém quando acesso o site pelo celular a loja mostra duas colunas mesmo eu utilizando [products limit="6" columns="3"]. Procurei bastante nas internet e o que eu consegui foi copiar o HTML usando o inspector do google e inserindo num bloco do Elementor (construtor de página que uso) e mudando algumas coisinhas no código. A primeira vista está funcionando mas quando acrescento um produto ele não atualiza no celular porque não é um shortcode.  Alguém pode me ajudar? Sou iniciante na programação. Segue o site: www.brechodaelyevariedades.com.br 
       
      Obrigado! 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.