Ir para conteúdo
Marcos Vinícius

fpdf com ckeditor - formatação do banco de dados

Recommended Posts

Pessoal,

 

Tô tentando mostrar o resultado de uma consulta mysql em um pdf com o fpdf. Só que os dados do banco foram salvos com o ckeditor, ou seja, tem dados de formatação junto mas não encontrei a forma certa do pdf exibir o dado já formatado. 

 

Por exemplo:

no bd tá assim: <p>Teste</p><br>quebra

 

Numa página normal, exibiria 

 

Teste

quebra

 

mas com o uso do fpdf só conseguir mostrar o campo todo como uma frase:

 

<p>Teste</p><br>quebra

 

Alguém sabe com fazer para o fpdf ler essas tags de formatação?

Compartilhar este post


Link para o post
Compartilhar em outros sites

FPDF acho que não tem suporte para HTML,  tem a biblioteca  MPDF que tem suporte para HTML.

Só cuidado pois o PDF pode não ter o resultado esperado comparado com o HTML no browser.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por 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  
    • Por 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"); ?>  


    • Por lordstarlight
      Olá amigos,
       
      Alguém tem um código gerador de código de barras EAN usando FPDF para gerar CEP.
       
      Obrigado a todos!
    • Por netocazuza
      Olá, bom dia a todos. Estou criando um sisteminha simples para geração de um documento em pdf. Para isso, estou juntando partes de vários projetos em  um só, e o meu problema no momento é bem simples. O sistema tá funcionando, porém gera o pdf na mesma janela, sobre a tela de cadastramento, e eu gostaria que abrisse numa nova aba ou janela, pra que  a tela de cadastramento permanecesse sempre ativa. Atualmente está assim:
      O arquivo que grava os registros termina com a instrução 
      header('Location: tela_cadastramento.php'); Isso é uma rotina pronta, que faz com que ao cadastrar um registro, já volte nesse tela, com os inputs limpos, aguardando novos registros. Fiz essa rotina primeiro, e tá funcional. Depois disso, peguei uma rotina pronta para gerar o PDF com fpdf, e criei uma function com essa rotina, que termina com: 
      $pdf->Output(); e até aí, tá tudo normal, pois é exatamente isso que quero, apenas abrir o pdf na tela, e o usuário decide o que vai fazer. Salvar, imprimir, ou os dois. Está funcionando, pois abre o pdf, tudo certinho. O único problema é que abre a janela do pdf "sobre" a janela ativa do sistema, e com isso gera um warning pois impede que a instrução do header seja cumprida. Já tentei mudar o local da chamada da função do fpdf, mas não resolveu, então gostaria de passar uma instrução para abrir o fpdf em outra aba ou janela, mas não sei como devo fazer, uma vez que na ordem do sistema, é feita uma gravação no banco, e a geração do pdf é feita de forma automática, pegando carona nessa gravação. Estou falando isso, pois se fosse uma botão específico gerar pdf, sei que teria como fazer usando target, ou onclick. Quero fazer algo equivalente, dentro da função, ou do comando de output. Será que me fiz entender, e alguém pode me ajudar?
    • Por Adriano Weverton
      Olá, boa noite galera! Eu estou tendo um problema no pdf (FPDF) quando puxo as imagens do bd (MySQL)... Todas as imagens estão ficando uma em cima da outra e não correspondente ao enunciado. Tentei de algumas formas, mas não está dando certo. Alguém tem uma noção de como fazer isso ?
      $numero = 1; $numero <10; foreach ($dados as $tb_questoes){ if ($numero <10) { $ensino = $tb_questoes["etapa_quest"]; $foto_quest = $tb_questoes["foto_quest"]; if($foto_quest!=NULL){ $pdf->Ln(50); $pdf->Image("img/questoes/{$foto_quest}",100,35,50,60); $pdf->MultiCell(190, 4, utf8_decode (''.'0'.$numero++.') '.$tb_questoes["enunciado_quest"]), 0, 'L', 0, 0, '', '', true); }else{ $pdf->Ln(3); $pdf->MultiCell(190, 4, utf8_decode (''.'0'.$numero++.') '.$tb_questoes["enunciado_quest"]), 0, 'L', 0, 0, '', '', true); $pdf->Ln(3); } }else{ $foto_quest = $tb_questoes["foto_quest"]; if($foto_quest!=NULL){ $pdf->Ln(50); $pdf->Image("img/questoes/{$foto_quest}",100,35,50,60); $pdf->MultiCell(190, 4, utf8_decode (''.$numero++.') '.$tb_questoes["enunciado_quest"]), 0, 'L', 0, 0, '', '', true); }else{ $pdf->Ln(3); $pdf->MultiCell(190, 4, utf8_decode (''.$numero++.') '.$tb_questoes["enunciado_quest"]), 0, 'L', 0, 0, '', '', true); $pdf->Ln(3); } } $pdf->Ln(3); $pdf->MultiCell(190, 4, utf8_decode ('(A) '.$tb_questoes["opc1_quest"]), 0, 'L', 0, 0, '', '', true); $pdf->Ln(3); $pdf->MultiCell(190, 4, utf8_decode ('(B) '.$tb_questoes["opc2_quest"]), 0, 'L', 0, 0, '', '', true); $pdf->Ln(3); $pdf->MultiCell(190, 4, utf8_decode ('(C) '.$tb_questoes["opc3_quest"]), 0, 'L', 0, 0, '', '', true); $pdf->Ln(3); $pdf->MultiCell(190, 4, utf8_decode ('(D) '.$tb_questoes["opc4_quest"]), 0, 'L', 0, 0, '', '', true); $pdf->Ln(3); $pdf->MultiCell(190, 4, utf8_decode ('(E) '.$tb_questoes["opc5_quest"]), 0, 'L', 0, 0, '', '', true); $pdf->Ln(3); $pdf->MultiCell(190, 4,"_______________________________________________________________________________________________________________________", 0, 'L', 0, 0, '', '', true); $pdf->Ln(4); }  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.