Conheça  A Ferramenta LowCode mais moderna e veloz para desenvolvimento PHP: Adianti Creator
Geração de Formulário em PDF Pessoal, estou tentando gerar um formulário que contenha vários produtos, mas após os produtos tem mais informações adicionais. O problema e quando tem muitos produtos, acabam passando por cima das informações adicionais, não gerando outra pagina. Segue a imagem de exemplo. ...
HT
Geração de Formulário em PDF  
Pessoal, estou tentando gerar um formulário que contenha vários produtos, mas após os produtos tem mais informações adicionais. O problema e quando tem muitos produtos, acabam passando por cima das informações adicionais, não gerando outra pagina. Segue a imagem de exemplo.

 
  1. <?php
  2. $cabecalho_nota = TSession::getValue('cabecalho_nota');
  3. $datails = TSession::getValue('datails');
  4. $designer = new TPDFDesigner;
  5. $designer->fromXml('app/reports/sac_dev_pdf.pdf.xml');
  6. $designer->generate();
  7. $designer->SetFont('Arial', 'B', 8);
  8. $designer->setFontColorRGB( '#4C4491' );
  9. $designer->writeAtAnchor('protocolo', '0000000');
  10. $designer->writeAtAnchor('data', date('d/m/Y'));
  11. $designer->writeAtAnchor('nota_fiscal', $cabecalho_nota[0]['Num_Nota']);
  12. $designer->writeAtAnchor('data_emissao', $cabecalho_nota[0]['Dat_Emissao']);
  13. $designer->writeAtAnchor('vendedor', $cabecalho_nota[0]['Cod_Vendedor']);
  14. $designer->writeAtAnchor('operador',$cabecalho_nota[0]['Cod_VendTlmkt']);
  15. $designer->writeAtAnchor('cliente','Geniezer Pereira & Cia');
  16. $designer->writeAtAnchor('cnpj',$cabecalho_nota[0]['Cgc']);
  17. $designer->writeAtAnchor('endereco',$cabecalho_nota[0]['Endereco']);
  18. $designer->writeAtAnchor('bairro',$cabecalho_nota[0]['Bairro']);
  19. $designer->writeAtAnchor('cidade',$cabecalho_nota[0]['Cidade']);
  20. $designer->writeAtAnchor('estado',$cabecalho_nota[0]['Estado']);
  21. $designer->writeAtAnchor('telefone',$cabecalho_nota[0]['Fone1']);
  22. $designer->gotoAnchorXY('details');
  23. foreach($datails as $key)
  24. {
  25. //$designer->gotoAnchorXY('details');
  26. $designer->SetFont('Arial', '', 8);
  27. $designer->Cell( 62, 10, $key->codigo, 1, 0, 'C');
  28. $designer->Cell(240, 10, utf8_decode($key->descricao), 1, 0, 'L');
  29. $designer->Cell( 150, 10, $key->fabricante, 1, 0, 'L');
  30. $designer->Cell( 80, 10, $key->lote, 1, 0, 'C');
  31. $designer->Cell( 50, 10, $key->quantidade, 1, 0, 'R');
  32. $designer->Cell( 50, 10, $key->prc_unit, 1, 0, 'R');
  33. $designer->Cell( 50, 10, $key->prc_total, 1, 0, 'R');
  34. $designer->Cell( 130, 10, $key->motivo, 1, 0, 'C');
  35. $designer->Ln(10);
  36. $designer->gotoAnchorX('details');
  37. }
  38. $file = 'app/output/formularioDev.pdf';
  39. if (!file_exists($file) OR is_writable($file))
  40. {
  41. $designer->save($file);
  42. parent::openFile($file);
  43. }
  44. ?>

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 (19)


AC

Bom dia, não seria porque essas informações adicionais estão "fixas"? No caso não bastaria adicionar essas informações após o "foreach"?
HT

Eu tentei fazer de acordo com o modelo pdf NFe , que contem uma parte fixa logo após a listagem de produtos.
AC

Estão fixas no xml? Imprimindo "no final" de cada página? Se sim, e se tu precisa dela somente "no final da ultima pagina" (após os itens), tu retira de lá e coloca no teu controller/php.
HT

Já tentei várias forma, mas sempre ficam fixas.

Tem algum exemplo que posso me orientar.
EC

Boa tarde amigos, gostaria de saber como seria esse arquivo base 'app/reports/sac_dev_pdf.pdf.xml'.
Obrigado.
HT

É um arquivo xml para geração do Pdf, igual os modelos que tem no tutor.
EC

Sou novo no adianti, e não sei onde localizar esse arquivo.. vi uns exemplos utilizando o dompdf, mas também não consigo integrar ele ao projeto. =/
HT

Dá uma olhada aqui para se basear.

www.adianti.com.br/framework_files/tutor/index.php?class=PDFDesignNF
EC

Então amigo, eu já entendi como funciona, meu problema é que eu não consigo criar o arquivo por exemplo:

"app/reports/nfe.pdf.xml" o modelo do xml para ser usado.. vlw.
HT

Utilize o adianti estudio pro, que conseguirá.
PS

Pessoal, alguém tem esse arquivo "app/reports/nfe.pdf.xml" pra disponibilizar pra gente?
AC

abre o contexto do tutor vai em app/reports/
PS

Opa, obrigado Alexsandro. Encontrei. :)
RS

Bom dia pessoal,

Não consegui encontrar esse arquivo "app/reports/nfe.pdf.xml" aqui no studio pro,

Como faço para encontrá-lo?
PS

Pessoal boa tarde, a situação é a seguinte, tenho o Adianti Studio Pro, e gostaria de após gerar minha LISTAGEM de NOTAS, quero inserir uma ação que, ao clicar nesse botão, eu imprima(gere) a Nota chamando o arquivo nfe.pdf.xml. Mas vejam o detalhe. Eu gostaria de gerar por meio de minha listagem gerada pelo Adianti Studio Pro.

Desde já agradeço a todos.
PS

Um exemplo, por meio desta lista: www.adianti.com.br/framework_files/tutor/index.php?class=SaleList
Quero criar uma ação colocando um botão para gerar a NOTA de acordo com a venda selecionada.
PC

Paulo Silva, conseguiste fazer o gerar NOTA como você desejava?
Se conseguiu pode disponibilizar o caminho.
HT

Não sei só você adicionar mais um botão, igual o de editar por exemplo, e fazer a ação desejada que pode ser a chamada de uma função para gerar a nota fiscal.
JB

O exportar em PDF vai bem quando tem poucos dados, faça um teste no erphouse (quem tem) . No exportar para pdf em cidades que a tabela é grande o meu não consegue.

Alguém tem alguma solução?
Tipo checar se a tabela tem mais de 1000 registros informar ao usuário que vai demorar ou gerar vários arquivos pdf de 1000 em 1000 registros etc...