Usar MPDF ou Similar para relatorios contendo TAGS HTML Boa Tardem estou tendo necessidade de usar o MPDF ou outro qualquer que aceite textos grandes com tags html, teria alguma forma de fazer isso aproveitando a parte que ja foi feita no PDF Designer?...
AB
Usar MPDF ou Similar para relatorios contendo TAGS HTML  
Boa Tardem estou tendo necessidade de usar o MPDF ou outro qualquer que aceite textos grandes com tags html, teria alguma forma de fazer isso aproveitando a parte que ja foi feita no PDF Designer?

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (6)


NR

Agostinho, a classe TPDFDesigner tem a função writeHTML. Você chegou a testá-la?
AB

Bom Dia Nataniel, não consegui usar ele, provavelmente por não saber, estou criando uma nota de venda em leilão, aonde a descrição do produto vendido varia, se for um veiculo por exemplo, é um texto, se for um terreno é outro, se for um imovel é outro, e esses textos são cadastrados no sistema e alterados pelo usuario, e seria apenas nessa parte, não no relatorio como um todo. dai minha dificuldade.
AB

Quando uso o writeHTML, ele joga o texto na primeira linha e não na posição que preciso.
NR

Imagino que você deva criar uma âncora para esse texto e posicionar o pdf nessa âncora, para depois chamar a função writeHTML:
 
  1. <?php
  2. // posiciona o pdf na ancora
  3. $pdf->gotoAnchorXY('nome_ancora');
  4. // escreve na posicao da ancora
  5. $pdf->writeHTML($pdf->getX(),$pdf->getY(),'seu texto aqui');
  6. ?>
AB

Como faço par enviar uma imagem aqui?
AB

para quem interessar, acabei descobrindo no fórum do scriptcase, por parte de João Carlos TR, em 12/08/2015, da qual também faço parte um código que faz cantos arredondados ao invés de retângulos no fpdf, coloquei esse código abaixo no AdiantiPDFDesigner.php abaixo da linha 246, e alterei o nome no xml, e funcionou perfeito. fica ai a dica.

 
  1. <?php
  2. case 'CantoArredondado':
  3. ### DESENHA RETANGULOS COM CANTOS ARREDONDADOS ###
  4. parent::SetLineWidth($element['linewidth']);
  5. parent::SetDrawColor(0,0,0);
  6. $x=$element['x'];
  7. $y=$element['y'];
  8. $w=$element['width']; # Largura
  9. $h=$element['height']; # Altura
  10. $raio=10; # Tamanho do canto
  11. $r=10; # Resolução do desenho (melhor entre 0.1 e 10);
  12. $cantoID = 0;
  13. $cantoIE = 90;
  14. $cantoSE = 180;
  15. $cantoSD = 270;
  16. $x+=$raio;
  17. $y+=$raio;
  18. # Linha superior
  19. parent::Line($x,$y-$raio,$x+$w-($raio*2),$y-$raio);
  20. # Linha inferior
  21. parent::Line($x,$y-$raio+$h,$x+$w-($raio*2),$y-$raio+$h);
  22. # Linha esquerda
  23. parent::Line($x-$raio,$y,$x-$raio,$y-($raio*2)+$h);
  24. # Linha direita
  25. parent::Line($x-$raio+$w,$y,$x-$raio+$w,$y-($raio*2)+$h);
  26. # Canto Superior Esquerda
  27. for($cantoSE=180; $cantoSE<270; $cantoSE+=$r)
  28. {
  29. $Xse =((cos($cantoSE*pi()/180))*$raio)+$x;
  30. $Yse =((sin($cantoSE*pi()/180))*$raio)+$y;
  31. $X1se =((cos(($cantoSE+$r)*pi()/180))*$raio)+$x;
  32. $Y1se =((sin(($cantoSE+$r)*pi()/180))*$raio)+$y;
  33. parent::Line($Xse,$Yse,$X1se,$Y1se);
  34. }
  35. # Canto Superior Direito
  36. $x+=$w-$raio-$raio;
  37. for($cantoSD=270; $cantoSD<360; $cantoSD+=$r)
  38. {
  39. $Xsd =((cos($cantoSD*pi()/180))*$raio)+$x;
  40. $Ysd =((sin($cantoSD*pi()/180))*$raio)+$y;
  41. $X1sd =((cos(($cantoSD+$r)*pi()/180))*$raio)+$x;
  42. $Y1sd =((sin(($cantoSD+$r)*pi()/180))*$raio)+$y;
  43. parent::Line($Xsd,$Ysd,$X1sd,$Y1sd);
  44. }
  45. # Canto Inferior Direito
  46. $y+=$h-$raio-$raio;
  47. for($cantoID=0; $cantoID<90; $cantoID+=$r)
  48. {
  49. $Xid =((cos($cantoID*pi()/180))*$raio)+$x;
  50. $Yid =((sin($cantoID*pi()/180))*$raio)+$y;
  51. $X1id =((cos(($cantoID+$r)*pi()/180))*$raio)+$x;
  52. $Y1id =((sin(($cantoID+$r)*pi()/180))*$raio)+$y;
  53. parent::Line($Xid,$Yid,$X1id,$Y1id);
  54. }
  55. # Canto Inferior Esquerdo
  56. $x-=$w-$raio-$raio;
  57. for($cantoIE=90; $cantoIE<180; $cantoIE+=$r)
  58. {
  59. $Xie =((cos($cantoIE*pi()/180))*$raio)+$x;
  60. $Yie =((sin($cantoIE*pi()/180))*$raio)+$y;
  61. $X1ie =((cos(($cantoIE+$r)*pi()/180))*$raio)+$x;
  62. $Y1ie =((sin(($cantoIE+$r)*pi()/180))*$raio)+$y;
  63. parent::Line($Xie,$Yie,$X1ie,$Y1ie);
  64. }
  65. break;
  66. ?>