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

[Resolvido]Gerando PDF com marca de fundo e texto bem formatado


jefponte

Pergunta

O sistema que eu criei ficou bem interessante. Estou doando para uma escola de uma prefeitura. Já está sendo utilizado aqui na escola onde eu trabalho, mas estou com alguns problemas.

No sistema eu acrescento aluno, informações, gerencio turmas e gero declaração e histórico com a ferramenta dompdf. Mas eu não sei usar a biblioteca direito, existem mistérios que não consegui resolver.

1. Sempre que gero o PDF da declaração eu tenho o terrível problema da letra que cai em baixo. Ele quebra a palavra no final da linha e deixa a ultima letra em baixo na outra linha. Eu já forcei de diversas formas. Atributo jistify ou center, coloquei o texto todo em uma tabela invisível. Isso ajudou a alinhar o texto no centro da página, mas ele faz separações silábicas horrendas por causa do final da linha. Não sabe colocar a palavra toda na próxima linha ou separar direitinho.

2. A parte do histórico está mais difícil ainda. Preciso gerar um histórico com a grade de notas, mas no fundo deve existir um brasão do estado do ceará. É padrão. Tem também que ter o nome das matérias no sentido vertical, letras inclinadas, deitadas. Tipo no modelo da imagem no link: http://mvline.com.br/frente.jpg

Talvez a biblioteca dompdf não seja muito boa ou então eu não sei usar os muitos mecanismos que estão aí disponíveis.

Preciso de ajuda, e isso ajudará muitas pessoas, pois o histórico aqui é feito a mão e existem muitos históricos a serem feitos e pais de alunos pedindo todos os dias, mais de 700 só do ano passado.

Se alguém quiser dar uma olhada, aqui está o código que uso para gerar a declaração.

<?php

require_once("dompdf/dompdf_config.inc.php");

$alunoid=$_GET['alunoid'];

$con = mysql_connect("localhost","oreidosl_root","cocacola@12");
if (!$con)
{
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("sfdc", $con);

$sql = "SELECT * From alunos Where id=$alunoid";


$query = mysql_query($sql);
while ($mostrar = mysql_fetch_assoc($query))

{


$turma= $mostrar['turma'];
$anodeestudo=$mostrar['ano'];

$datadenascimento=$mostrar['nascimento'];



$nascimento= substr($datadenascimento,8,2) . "/" .substr($datadenascimento,5,2) . "/" . substr($datadenascimento,0,4);;
$aluno=$mostrar['aluno'];
$pai=$mostrar['pai'];
$mae=$mostrar['mae'];
$localizacao=$mostrar['local'];


if ($localizacao=='Corrente')
{
$situacao= '&eacute;';

}
else{
$situacao='foi';    
    
}

    

    
}

date_default_timezone_set('America/Sao_Paulo');


$dia = date('d');
$ano = date('Y');
$mes = date('M');
$mess = array("Jan" => "janeiro", "Feb" => "fevereiro", "Mar" => "Mar&ccedil;o", "Apr" => "Abril", "May" => "maio", "Jun" => "junho", "Jul" => "julho", "Aug" => "agosto", "Sep" => "setembro", "Oct" => "outubro", "Nov" => "novembro", "Dec" => "dezembro");



//$data é o que aparece na data final
$data= $dia.' de '.$mess["$mes"].' de '.$ano; 

$html = '
        
        <html><head>
        </head>    
        <body>


        <br><br><br>
        <TABLE BORDER=0 width="500" cellspacing="0"  align="center">
        <!-- Abre linha -->
        <TR><TD width="50"><img src="caucaia.jpg" width="40" /></TD><TD width="350"> 
        
        
        <h1 style="text-align: center;"><span style="font-size: small;"><strong><span style="font-size: x-small;">GOVERNO MUNICIPAL DE&nbsp;</span><br /><span style="font-size: xx-large;">CAUCAIA</span></strong><br /><span style="font-size: x-small;"><span style="font-weight: normal;">SECRETARIA MUNICIPAL DE EDUCA&Ccedil;&Atilde;O</span><br /><strong>E. E. I. E. F. S&Atilde;O FRANCISCO DAS CHAGAS</strong><br /><span style="font-weight: normal;">RUA: E-27, N&ordm; 138 - PARQUE ARATURI<br />FONE: 3294-6684</span></span></span></h1>
        
        
        </TD><TD width="50">&nbsp;</TD ></TR>
        <!-- Fecha Linha -->
        
        
        <TR><TD>&nbsp;</TD><TD>
        
        <br><br><br><br><br><br><br><br>
        
        
        
<p><span style="font-size: medium;">Declaro para os devidos fins que '.$aluno.' nascido em                 '.$nascimento.' , filho(a) de '.$mae.' e de '.$pai.', '.$situacao.'  devidamente matriculado                          na turma '.$turma.', nesta institui&ccedil;&atilde;o de ensino, no ano de '.$anodeestudo.'. </span></p>
<p><span style="font-size: medium;"><br /></span></p>
<p><span style="font-size: medium;"><br /></span></p>
<p><span style="font-size: medium;"><br /></span></p>
<p class="MsoNormal"><span style="font-size: medium;"><br /></span></p>
<p class="MsoNormal"><span style="font-size: medium;">O presente documento n&atilde;o contem emendas ou rasuras.         <br />INEP da Escola: 23269944.</span></p>
        
        
        
        
        
        
        </TD><TD>&nbsp;</TD></TR>
        
        <TR><TD> &nbsp;</TD><TD><br><br><br><br><br><br><br><br> 
        <p class="MsoNormal" align="right"><span>Caucaia, '.$data.'</span></p> 
        </TD><TD>&nbsp;</TD ></TR>
        </TABLE>

        ';
    






$dompdf= new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("declaracao.pdf");


?>

Desde já agradeço a quem tentar ler o post ou tentar me ajudar.

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

2 respostass a esta questão

Posts Recomendados

  • 0

O primeiro problema foi resolvido.

Na versão alfa do DomPDF o texto não sai direito, as palavras em quase todas as linhas são quebradas indevidamente. Mas isso não ocorre na versão nova, beta.

Essa versão, dompdf_0-6-0_beta3.tar.gz, ela não apresenta esse erro, não faz a quebra de palavra indevidamente.

Agora falta saber colocar as letras dos nomes das matérias deitadas e a marca de fundo do brasão do Estado do Ceará. Feito isso, pronto.

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
      152,1k
    • Posts
      652k
×
×
  • Criar Novo...