Lançado Adianti Framework 8.1!
Clique aqui para saber mais
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.                         
  7.                         $x=$element['x'];
  8.                         $y=$element['y'];
  9.                         $w=$element['width'];  # Largura
  10.                         $h=$element['height'];     # Altura
  11.                         $raio=10# Tamanho do canto
  12.                         $r=10;      # Resolução do desenho (melhor entre 0.1 e 10);
  13.                         
  14.                         $cantoID 0;
  15.                         $cantoIE 90;
  16.                         $cantoSE 180;
  17.                         $cantoSD 270;
  18.                         
  19.                         $x+=$raio;
  20.                         $y+=$raio;
  21.                          
  22.                         # Linha superior
  23.                         parent::Line($x,$y-$raio,$x+$w-($raio*2),$y-$raio);
  24.                         # Linha inferior
  25.                         parent::Line($x,$y-$raio+$h,$x+$w-($raio*2),$y-$raio+$h);
  26.                         # Linha esquerda
  27.                         parent::Line($x-$raio,$y,$x-$raio,$y-($raio*2)+$h);
  28.                         # Linha direita
  29.                         parent::Line($x-$raio+$w,$y,$x-$raio+$w,$y-($raio*2)+$h);
  30.                         
  31.                         # Canto Superior Esquerda
  32.                         for($cantoSE=180$cantoSE<270$cantoSE+=$r)
  33.                         {
  34.                            $Xse =((cos($cantoSE*pi()/180))*$raio)+$x;
  35.                            $Yse =((sin($cantoSE*pi()/180))*$raio)+$y;
  36.                            $X1se =((cos(($cantoSE+$r)*pi()/180))*$raio)+$x;
  37.                            $Y1se =((sin(($cantoSE+$r)*pi()/180))*$raio)+$y;
  38.                            parent::Line($Xse,$Yse,$X1se,$Y1se);
  39.                         }
  40.                         
  41.                         #  Canto Superior Direito
  42.                         $x+=$w-$raio-$raio;
  43.                         for($cantoSD=270$cantoSD<360$cantoSD+=$r)
  44.                         {
  45.                            $Xsd =((cos($cantoSD*pi()/180))*$raio)+$x;
  46.                            $Ysd =((sin($cantoSD*pi()/180))*$raio)+$y;
  47.                            $X1sd =((cos(($cantoSD+$r)*pi()/180))*$raio)+$x;
  48.                            $Y1sd =((sin(($cantoSD+$r)*pi()/180))*$raio)+$y;
  49.                            parent::Line($Xsd,$Ysd,$X1sd,$Y1sd);    
  50.                         }
  51.                         
  52.                         # Canto Inferior Direito
  53.                         $y+=$h-$raio-$raio;
  54.                         for($cantoID=0$cantoID<90$cantoID+=$r)
  55.                         {
  56.                            $Xid =((cos($cantoID*pi()/180))*$raio)+$x;
  57.                            $Yid =((sin($cantoID*pi()/180))*$raio)+$y;
  58.                            $X1id =((cos(($cantoID+$r)*pi()/180))*$raio)+$x;
  59.                            $Y1id =((sin(($cantoID+$r)*pi()/180))*$raio)+$y;
  60.                            parent::Line($Xid,$Yid,$X1id,$Y1id);    
  61.                         }
  62.                         
  63.                         # Canto Inferior Esquerdo
  64.                         $x-=$w-$raio-$raio
  65.                         for($cantoIE=90$cantoIE<180$cantoIE+=$r)
  66.                         {
  67.                            $Xie =((cos($cantoIE*pi()/180))*$raio)+$x;
  68.                            $Yie =((sin($cantoIE*pi()/180))*$raio)+$y;
  69.                            $X1ie =((cos(($cantoIE+$r)*pi()/180))*$raio)+$x;
  70.                            $Y1ie =((sin(($cantoIE+$r)*pi()/180))*$raio)+$y;
  71.                            parent::Line($Xie,$Yie,$X1ie,$Y1ie);    
  72.                         }
  73.                         break;
  74. ?>