Ir para conteúdo
Fórum Script Brasil
  • 0

Gerar pdf


RRH

Pergunta

15 respostass a esta questão

Posts Recomendados

  • 0
Bom dia!

Se servir o FPDF, posso te ajudar.

Mas primeiro você tem que baixar o arquivo.

Depois eu te passo alguns exemplos.

Desde que o fpdf faça o que estou precisando vai servir sim! Pode mandar o que tiver aí que vou testar aqui...

Editado por RRH
Link para o comentário
Compartilhar em outros sites

  • 0

Boa Noite.

estou te enviando um exemplo de uso do fdpd.

Sugiro que você retire as consultas existentes, pois seu programa não irá conseguir buscá-las, umas vez que não possui os bd.

É uma maravilha o FPDF. Você vai se encantar.

é claro que no começo, você vai aprender devagar.

Antes de começar, você precisar baixar a biblioteca que está em:

http://www.fpdf.org/

O Bruno Augusto, criou este curso que talvez te ajude bastante:

http://forum.wmonline.com.br/topic/182248-...-fpdf-completo/

Meu exemplo:

<?php
import_request_variables("gP");
include ("../../conexao.php");
include ("../../biblio.php");
//DADOS DO PEDIDO
$rol = "SELECT r.registro, r.empresacontr, r.dataadmi, r.id_func, f.nome, f.sexo FROM registro r, funcionario f
WHERE r.id_registro='$id' AND f.id_func=r.id_func";
$exe_rol = mysql_query($rol);
$resul_rol = mysql_fetch_array($exe_rol);
$hoje = databr($termino,1);
$dia_h = substr($hoje, 8,2)*1;
$mes_h = substr($hoje, 5,2)*1;
$ano_h = substr($hoje, 0,4);

$dado = "SELECT cpts, serie_cpts FROM dado WHERE id_func='$resul_rol[id_func]'";
$exe_dado = mysql_query($dado);
$resul_dado =mysql_fetch_array($exe_dado);

define('FPDF_FONTPATH','../../pdf/fpdf/font/');
require_once("../../pdf/fpdf/fpdf.php");

$pdf=new FPDF('P', 'mm', 'A4');
$pdf->Open();

$pdf->AddPage();
$pdf->SetTopMargin(10);
$emp = "SELECT nome FROM empresa WHERE id_empresa='2'";
$exe_emp =mysql_query($emp);
$resul_emp=mysql_fetch_array($exe_emp);
$qtd_let= strlen($resul_emp[nome]);
$empresa = substr($resul_emp[nome], 12, ($qtd_let-12));

$pdf->SetXY(10, 20);
$pdf->SetLineWidth(0.4);
$pdf->Rect('20', '20', '180', '24', '');
$pdf->SetFont('Helvetica', 'B', 14);
$pdf->ln(3);
$pdf->cell(10);
$pdf->Cell(30, 20, $pdf->Image('../../images/aguia.jpeg', 30, 23,20));
$pdf->Cell(150, 30, $pdf->Cell(0, 20,"PVG POLIVIG", '','L', ''),
$pdf->ln(13),
$pdf->Cell(40),
$pdf->Cell(150, 5, "$empresa", '', 'L', ''));
$pdf->SetFont('Helvetica', 'I', 14);
$pdf->ln(30);


$pdf->SetFont('Helvetica', 'B', 15);
$pdf->SetLineWidth(0.4);
$pdf->Cell(10);
$pdf->Line('20', '72', '200', '72');
$pdf->Cell(145, 5, "Término de Contrato de Experiência", '', '', 'C', '');
$pdf->SetFont('Helvetica', '', 10);
$pdf->Cell(30, 5, "Data: $termino", '', '', 'C', '');

IF($resul_rol[sexo]=="F"){$pessoa="A Sra.";}ELSE{$pessoa="Ao Sr.";}
$pdf->ln(30);
$pdf->Cell(10);
$pdf->Cell(20, 5, "$pessoa", '', '', 'L', '');
$pdf->ln(5);
$pdf->Cell(10);
$pdf->Cell(150, 5, "$resul_rol[nome]", '', '', 'L', '');
$pdf->ln(5);
$pdf->SetFont('Helvetica', 'B', 8);
$pdf->Cell(10);
$pdf->Cell(150, 5, "CPTS: $resul_dado[cpts]  -   Série: $resul_dado[serie_cpts]", '', '', 'L', '');
$pdf->ln(30);
$pdf->Cell(10);
$pdf->SetFont('Helvetica', '', 11);
$pdf->MultiCell(180, 5, "Pelo presente o notificamos que a partir desta data não mais serão utilizados os seus serviços pela nossa empresa, e por isso, vimos  avisá-lo (a) que o contrato firmado em ".databr($resul_rol[dataadmi],0)." pelo prazo de $qtddias dias, se encerra nesta data.", '0', '', '');

$pdf->ln(20);
$pdf->Cell(10);
$pdf->Cell(180, 5, "Atenciosamente,", '0', '', '');
$pdf->ln(15);
$pdf->Cell(10);
$pdf->Cell(180, 5, "São Paulo, $dia_h de ".nomemes($mes_h)." de ".$ano_h."", '0', '', '');
$pdf->ln(20);
IF($exe_rol[empresacontr]==1){$compri=137;}ELSE{$compri=97;}
$pdf->Line('20', '205', "$compri", '205');
$pdf->Cell(10);
$pdf->Cell(180, 5, "$resul_emp[nome]", '0', '', '');

$pdf->ln(20);
$pdf->Cell(10);
$pdf->Cell(180, 5, "Ciente,", '0', '', '');
$pdf->ln(15);
$pdf->Line('20', '240', "100", '240');
$pdf->Cell(10);
$pdf->Cell(180, 5, "$resul_rol[nome]", '0', '', '');
$pdf->ln(5);
$pdf->Cell(10);
$pdf->SetFont('Helvetica', 'B', 8);
$pdf->Cell(150, 5, "CPTS: $resul_dado[cpts]        Série: $resul_dado[serie_cpts]", '', '', 'L', '');
//Aqui é para colocar os dados
$pdf->SetFont('Helvetica', 'B', 7);

$pdf->Output();
?>

Espero que te seja útil.

Abraços

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

  • 0

Não só olhei como consegui fazer alguns testes aqui gerando uma lista usando o meu banco de dados mysql, coloquei bordas nas células, configurei margens da página, e um monte de coisas que tem no tutorial do Bruno Augusto que eu já havia encontrado em pesquisas no google. O que não estou conseguindo e nem sei se tem como fazer é criar as células e colocar títulos nelas como no print que coloquei no primeiro post. Não estou querendo que ninguém faça tudo pra mim, mas só me mostre como iniciar. Desde já agradeço sua força e presteza em me ajudar.

Link para o comentário
Compartilhar em outros sites

  • 0
Utilize a classe mPdf ao invés da fpdf que é uma extensão da fpdf, pois nela você consegue colocar código HTML através da função WriteHTML!

Ok, mas no link que postei acima foi o que eu consegui com o mPDf. Parece que ele não interpreta bem o css...

Veja o código:

<?php
ob_start();  //inicia o buffer
?>

<!-- tables, DIVs, consultas no banco de dados, blablabla, imagens e todo o conteudo PHP com HTML -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>XXXXXXXXXXXXXXXXXXX</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="./css/comunica.css" rel="stylesheet" type="text/css">


</head>

<body>

<table class="tblGrid">
<tr><td>
<form name="comunica" method="post">
<center class="cabecalho">XXXXXXXXXXXXXXXXXXXXXXXXXXXX</center>
<fieldset class="nr">
<legend align="center">XX</legend>
<label><input type="text" name="nr" class="nr" value=""></label>
</fieldset>

<fieldset class="op">
<legend align="center">XXX</legend>
<label><input type="text" name="op" class="op" value="" readonly="readonly"></label>
</fieldset>

<fieldset class="data">
<legend align="center">XXXX</legend>
<label><input type="text" name="data" class="data" value=""></label>
</fieldset>

<fieldset class="nat">
<legend align="center">XXX</legend>
<label><input type="text" name="nat" class="nat" value=""></label>
</fieldset>


<fieldset class="vei">
<legend align="center">XX</legend>
<label><input type="text" name="vei" class="vei" value=""></label>

</fieldset>

<fieldset class="sst">
<legend align="center">XXXXXX</legend>
<label><input type="text" name="sst" class="sst" value=""></label>
</fieldset>

<fieldset class="ht">
<legend align="center">XXXXXXX</legend>
<label><input type="text" name="ht" class="ht" value=""></label>
</fieldset>

<fieldset class="hi">
<legend align="center">XXXXXX</legend>

<label><input type="text" name="hi" class="hi" value=""></label>
</fieldset>

<fieldset class="hf">
<legend align="center">XXXXXX</legend>
<label><input type="text" name="hf" class="hf" value=""></label>
</fieldset>

<fieldset>
<legend align="center">XXXXXXXXXXXXXXXXXXXX</legend>
<label>XXXX<input type="text" class="endfato" name="endfato" maxlength="150" value=""></label>
<label>XXXXXX<input type="text" size="18" name="bairrofato" maxlength="50" value=""></label>
<label>XXXXXXXXX<input type="text" size="15" name="munfato" maxlength="50" value=""></label>

</fieldset>

<fieldset>
<legend align="center">XXXXXXXXXXXXXXXX</legend>
<label><input class="box" type="text" name="box1" maxlength="150" value=""></label>
<label>XXXX<input type="text" class="nome" name="nome1" maxlength="150" value=""></label>
<label>XXXXX<input type="text" size="1" name="idade1" maxlength="50" value=""></label>
<label>XXXX<input type="text" class="fone" name="fone1" maxlength="50" value=""></label><br />
<label>XXX<input type="text" class="end" name="end1" maxlength="150" value=""></label>
<label>XX<input type="text" size="10" name="nr1" maxlength="50" value=""></label>
<label>XXXXXX<input type="text" class="bairro" name="bairro1" maxlength="50" value=""></label>

</fieldset>
<p>
<fieldset>
<label><input class="box" type="text" name="box2" maxlength="150" value=""></label>
<label>XXXX<input type="text" class="nome" name="nome2" maxlength="150" value=""></label>
<label>XXXXX<input type="text" size="1" name="idade2" maxlength="50" value=""></label>
<label>XXXX<input type="text" class="fone" name="fone2" maxlength="50" value=""></label><br />
<label>XXX<input type="text" class="end" name="end2" maxlength="150" value=""></label>
<label>XX<input type="text" size="10" name="nr2" maxlength="50" value=""></label>
<label>XXXXXX<input type="text" class="bairro" name="bairro2" maxlength="50" value=""></label>
</fieldset>

<p>
<fieldset>
<label><input type="text" class="box" name="box3" maxlength="150" value=""></label>
<label>XXXX<input type="text" class="nome" name="nome3" maxlength="150" value=""></label>
<label>XXXXX<input type="text" size="1" name="idade3" maxlength="50" value=""></label>
<label>XXXX<input type="text" class="fone" name="fone3" maxlength="50" value=""></label><br />
<label>XXX<input type="text" class="end" name="end3" maxlength="150" value=""></label>
<label>XX<input type="text" size="10" name="nr3" maxlength="50" value=""></label>
<label>XXXXXX<input type="text" class="bairro" name="bairro3" maxlength="50" value=""></label>
</fieldset>

<fieldset>
<legend align="center">XXXXXXXXXXXX</legend>
<label>XXX<input type="text" class="destinatario" name="destinatario" value=""></label>
</fieldset>

<fieldset>
<legend align="center">XXXXXXXXXXXXXXXXXXXXXXXXXXX</legend>
<div id="historico"><!--------COMEÇA AQUI-------------->
<HEAD>
<script LANGUAGE="JavaScript">
<!-- 
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit)
field.value = field.value.substring(0, maxlimit);
else 
countfield.value = maxlimit - field.value.length;
}
// -->
</script>


<center>

<textarea name=historico wrap=physical cols=58 rows=20 onKeyDown="textCounter(this.form.historico,this.form.remLen,2500);" onKeyUp="textCounter(this.form.historico,this.form.remLen,2500);"></textarea>
Faltam&nbsp;<input readonly type=text name=remLen size=3 maxlength=3 value="2500">&nbsp;caracteres</font>
</form>
</center>
<!--------TERMINA AQUI-------------></div></fieldset><p />
<center>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</center>
<fieldset class="relator">
<legend align="center">XXXXXXXXXXX</legend>
<label><input type="text" name="relator" class="relator" value=""></label>
</fieldset>

<fieldset class="pa">
<legend align="center">XXXXXXXXXXX</legend>
<label><input type="text" name="pa" class="pa" value=""></label>
</fieldset>

<fieldset class="nr">
<legend align="center">XX</legend>
<label><input type="text" name="numero" class="nr" value=""></label>
</fieldset>

<fieldset class="fra">
<legend align="center">XXXXXXXXXXXX</legend>
<label><input type="text" name="fra" class="fra" value=""></label>
</fieldset>


<fieldset class="rubrica">
<legend align="center">XXXXXXX</legend>
<label><input type="text" name="rubrica" class="rubrica"></label>
</fieldset>

<center>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</center>
<fieldset class="aut">
<legend align="center">XXXXXXXX</legend>
<label><input type="text" name="aut" class="aut" value=""></label>
</fieldset>

<fieldset class="pa2">

<legend align="center">XXXXXXXXXXX</legend>
<label><input type="text" name="pa2" class="pa2" value=""></label>
</fieldset>

<fieldset class="cargo">
<legend align="center">XXXXXXXXXXXXXXXX</legend>
<label><input type="text" name="cargo" class="nr" value=""></label>
</fieldset>

<fieldset class="rubrica">
<legend align="center">XXXXXXXXX</legend>
<label><input type="text" name="rubrica" class="rubrica"></label>
</fieldset>

<p />

</form>


</table>

</body>
</html>

<?php
//ob_end_clean(); // Finaliza o fluxo
$html = ob_get_clean();
define('_MPDF_PATH', './mpdf51/');
include(_MPDF_PATH.'mpdf.php');

// cria um novo container PDF no formato A4 com orientação customizada
$mpdf=new mPDF('pt','A4',3,'',8,8,5,14,9,9,'L');

// muda o charset para aceitar caracteres acentuados iso 8859-1 utilizados por mim no banco de dados e na geracao do conteudo PHP com HTML
$mpdf->allow_charset_conversion=true;
$mpdf->charset_in='iso-8859-1';

//Algumas configurações do PDF
$mpdf->SetDisplayMode('fullpage');
// modo de visualização
$mpdf->SetFooter('{DATE j/m/Y H:i}|{PAGENO}/{nb}|XXXXX');
//bacana este rodape, não é mesmo?

// carrega uma folha de estilo - MAGICA!!!
$stylesheet = file_get_contents('./css/comunica.css');

// incorpora a folha de estilo ao PDF
// O parâmetro 1 diz que este é um css/style e deverá ser interpretado como tal
$mpdf->WriteHTML($stylesheet,1);

// incorpora o corpo ao PDF na posição 2 e deverá ser interpretado como footage. Todo footage é posicao 2 ou 0(padrão).
$mpdf->WriteHTML($html,2);

// define um nome para o arquivo PDF
$arquivo = date("d-m-y-his").'_XXX_.pdf';

// gera o relatório
$mpdf->Output($arquivo,'D');

exit();

?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...