Ir ao conteúdo
  • Cadastre-se

Gerar pdf através de um formulário html


DPB

Posts recomendados

Olá pessoal estou com uma dúvida. Eu quero fazer um formulário em HTML e através dele gerar um arquivo PDF e já baixei uma biblioteca chamada mPDF 6.0 eu até pesquisei mas não consegui entender como fazer isso. Por exemplo tenho um formulário com os campos (nome, endereço, cidade) e ter um botão que gere um PDF. Como posso fazer isso?

Link para o comentário
Compartilhar em outros sites

@dif Ola bom dia consegui um modelo bem legal. Eu gostaria de saber se tem como deixar um modelo "tipo" HTML pronto para receber o arquivo pdf já formatado por exemplo com (cor da fonte, tamanho da fonte, receber os dados de uma tabela e fazer um upload de uma foto e colocar dentro do documento em um lugar especifico). Abaixo o código de exemplo em anexo.

 

Página index.php

<form method="post" action="gerarpdf.php">
   <label for="nome">Nome:</label><br>
   <input type="text" id="nome" name="nome"><br>
   <label for="horas">Horas:</label><br>
   <input type="text" id="horas" name="horas"><br>
   <label for="data">Data por extenso:</label><br>
   <input type="text" id="data" name="data"><br>
   <br>
   <input type="sumbit" value="Gerar PDF"><br>
</form>

 

Página gerarpdf.php

 

<?php 
   require_once( 'fpdf/fpdf.php' );
   
   
   $nome  = @$_POST['nome']; // Sim, a supressão é perfeitamente válida neste contexto
   $horas = @$_POST['horas']; // pois os parâmetros serão checados logo em seguida.
   $data  = @$_POST['data'];
   // Aqui você processa os parâmetros desejados, isto é só um exemplo.
   // Utilizei as variáveis do <form>, mas aqui você pode pegar o que
   // precisar de algum DB, ou mesmo misturar as técnicas.
   if( empty( $nome  ) ) $nome = "Anônimo da Silva";
   if( empty( $horas ) ) $horas = 24;
   if( empty( $data  ) ) $data = "17 de agosto de 2014";

   // e finalmente, geramos o PDF:
   $pdf = new FPDF();

   $pdf->AddPage();
   $pdf->SetFont('Arial','B', 14);
   $pdf->SetXY( 10, 20 );
   $pdf->Cell( 190, 0, 'DECLARAÇÃO', 0, 0, 'C');

   $pdf->SetFont('Arial','', 12);
   $pdf->SetXY( 10, 30 );
   $pdf->MultiCell( 190, 6,
      "  Eu, $nome, declaro que adquiri de Alaor Ivan Souza ".
      "um pacote de créditos para acesso à internet com duração ".
      "de $horas horas, iniciando-se em $data.\n".
      "  Declaro ainda que estas informações provavelmente são ".
      "inverídicas e sem sentido, pois isto aqui é um mero teste."
   );
   $pdf->Output();
?>

O exemplo acima esta funcionando perfeitamente, só gostaria de ter um pagina modelo para receber o formulário, ou seja, uma página já formatada. Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Moderador

@DPB Você pode pegar os dados dos banco de dados normalmente como php, fazer a mesma estrutura com o while e os métodos/funções do fdpf 

Sobre o layout, tem uma extensão dele que permite isso: http://www.fpdf.org/en/script/script42.php

 

Contudo, aquele outro que você já usou, o mpdf, também é bom e tem suporte ao CSS.. só que pelo que li ele é bem rígido, onde tags mal declaradas ele não interpreta. 

Ainda assim eu prefiro o fpdf! Lembro-me que na faculdade eu fiz um exercício que tinha que apresentar um relatório de vendas de um e-commerce em pdf com gráficos forma de pizza vindo do banco! Só dava trabalho ter que montar todo o layout no pdf. Naquela época não existia o tal script extensor como esse que passei mais acima! :thumbsup:

Link para o comentário
Compartilhar em outros sites

@difOla bom dia.

 

Ainda estou apanhando para colocar o CSS no pdf, mas vou seguir tentando. Vi em alguns formulário o seguinte tem por exemplo os campos (nome, email) ai embaixo desses campos tem um botão de "+" ou alguma coisa parecida para adicionar mais campos como por exemplo (adicionei um "nome, email" so que tenho que acrescentar mais nomes nesse formulário então criaria esse botão de "+" vi em alguns fóruns que eles utilizam javascript para criar eventos para esse botão so que além de eles repetirem somente o campo e criar um campo novo eles "duplicam o campo junto com os dados adicionados". Eu gostaria de fazer esse evento sem ter que repetir os dados e sim somente os campos de preenchimento.

Link para o comentário
Compartilhar em outros sites

  • 3 anos depois...

Olá pessoal, eu tive o mesmo problema, gerar PDF a partir de um HTML. 

Como tenho muitos sites em hospedagens compartilhadas, e nao posso manipular scripts complexos devido a limitações na hospedagem, comecei a API HTMLparaPDF:

 

HTML2PDF / Converta HTML para PDF de um jeito fácil e rápido:

https://htmlparapdf.com.br/como-usar-api.cshtml

 

Espero que ajudem você's também.

 

[]'s

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...