Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Antonio Jorge

Tem como faze impressão pelo php?

Recommended Posts

Bom dia pessoal, eu trabalho em uma escola e sei o básico do básco do php, e preciso criar um sisteminha para gerar declarações escolar com 4 modelos diferentes, e que seja impressso, hoje é feito pelo Word, que tem timbre do estado do RJ.

 

A idéia seria assim, ao abrir o sistema aparece um formulário com radio para selecionar o tipo de declaração, e um box para colocar o nome do aluno, e um botão para imprimir, o sistema iria ler o tipo de declaração, pegaria o nome do aluno e montava a impressão no modelo da declaração escolhida, e enviava para impressão.

 

Não sei se consegui explicar direito, e nem sei sei se é PHP, e nem como disponibilizar os modelos para o sistema usar, quem puder me orientar eu agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa sim php, mas só para pegar o nome do aluno dinamicamente e setar com o tipo de documento que irá imprimir.

Para montar as declarações você vai utilizar HTML e CSS (que são as linguagens de marcação e estilo) e para imprimir

você utilizará a função print(); que é em javascript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

com javascript faça:

window.print();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi mais ou menos, mas como eu faço para usar o modelo padrão, que hoje é em word, pois tem um modelo padronizado pela seeduc.

 

Para montar as declarações você vai utilizar HTML e CSS (que são as linguagens de marcação e estilo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

como o colega acima disse você pode usar html e css ou salvar esse modelo .doc em .rtf .... e fazer o php abrir esse arquivo e substituir as strings q mudam, depois configurar o header para "fazer download" do arquivo ja formatado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa ver se entendi, eu monto o modelo identico que uso no word em html? Ou eu posso usar o php para modificar o arquivo de word? Se for pelo php eu posso usar ele para modicar um trecho especifico?

 

Desculpe é que já foi muito alem do if e else, kkkkkkkkk.

 

A idéia seria mais ou menos isso:

 

http://www.criarweb.com/artigos/gerar-documentos-de-word-rtf-com-php.html

 

 

Alterar o documento padrão que eu tenho modificando as string que eu precisar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso, seria como no tutorial do link, mas o arquivo você deve conveter para .rtf, pq o .doc é codificado.

 

cara, usa as dicas do post 2 com o post3, t atendem perfeitamente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mas eu não tenho conhecimento em css, em html é tranquilo, não sei se consigo montar os padrões das declarações que é feito em word identica pelo html e css.

 

Seria mais simples...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mas convertendo para PDF poderia ainda modificar o conteúdo?

Sim, existe programas que convertem de PDF para DOC, então bastaria isto para modificar e gerar outro PDF.

 

antonio jorge, pa kem trabalha com web, saber html, css e js eh o mais basico...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim Igor, mas meu ramo não é web, sou administrador de fórum onde o seguimento é eletrônica, e esse é o meu ramo, veja:

 

http://www.tectonny.com/forum/index.php

 

Eu faço minha edições html via dreamwever, e a parte de php (que tentei aprender) e consigo levar legal lendo muito sobre o que eu quero, e ainda faço alguns site gerenciável com wordpress, mas é como eu digo é um hoby, sobre o css ate entendo que o básico é aprender, mas não me aprofundei no assunto, talvez me falte um editor visual para css...

 

 

Mesmo assim eu agradeço a todos e vou tentar fazer o que eu achar mais próximo do original, e trago o resultado para todos verem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, se você usa dreamwever da suite cs não devera ser dificil você utilizar o css, ja que o dreamwever faz tudo por você

 

concordo...como dizem na informatica: "um pessimo artesao culpa suas ferramentas", você usa o dreamweaver e nem sabe q ele meche com css pra você...seria bom você aprender a usa-lo corretamente...vera q ele faz maravilhas...at certo ponto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Igor, não falei que o dreamweaver não faz, e eu uso o MX e o CS5, e o CS5 é o que da melhor suporte ao css, sei que é uma ótima ferramenta, talvez realmente eu não consiga tirar tudo que posso dela, mas cada um fala o que quer, entãod eixa quieto.

 

 

Ao restante que tentou me ajudar, peguei um exemplo na net que é mais ou menos o que eu quero, vejam:

 

http://www.tectonny.com/geradoc/

 

Sendo que ao indicar o arquivo .rtf (que o exemplo tem teste.rtf) o arquivo geradoc.php não está pegando o template indicado, e a estrutara é assim:

 

index.php

<html>
<head>
<title>Exemplo - Gerar Documento em Doc/RTF</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="class.css" type="text/css">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table border="0" align="center" width="400" bgcolor="#CCCCCC">
 <tr>
   <td bgcolor="#EEEEEE"> 
     <form name="form1" method="post" action="geradoc.php">
       <p align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b><font color="#666666"><br>
         EXEMPLO - GERAR DOC/RTF 1.1</font></b></font></p>
       <table width="75%" border="0" cellspacing="0" cellpadding="0" align="center">
         <tr> 
           <td width="23%" nowrap><font class="texto">Empresa:</font></td>
           <td width="70%"> 
             <input type="text" name="empresa" class="form_campos" size="35" maxlength="40">
           </td>
         </tr>
         <tr> 
           <td width="24%"><font class="texto">Nome:</font></td>
           <td width="70%"> 
             <input type="text" name="nome" class="form_campos" size="35" maxlength="40">
           </td>
         </tr>
         <tr> 
           <td width="24%"><font class="texto">Endereço:</font></td>
           <td width="70%"> 
             <input type="text" name="endereco" class="form_campos" size="30" maxlength="50">
           </td>
         </tr>
         <tr> 
           <td width="24%"><font class="texto">Telefone:</font></td>
           <td width="70%"> 
             <input type="text" name="telefone" class="form_campos" size="20">
           </td>
         </tr>
         <tr> 
           <td width="24%"><font class="texto">Email:</font></td>
           <td width="70%"> 
             <input type="text" name="email" class="form_campos" size="30" maxlength="50">
           </td>
         </tr>
         <tr> 
           <td width="24%"><font class="texto">Site:</font></td>
           <td width="70%"> 
             <input type="text" name="site" class="form_campos" size="30" maxlength="50">
           </td>
         </tr>
         <tr>
           <td width="24%"><font class="texto">Template.<b>rtf</b>:</font></td>
           <td width="70%">
             <input type="text" size=30 name="file" class="form_campos">
           </td>
         </tr>
       </table>
       <p align="center">
         <input type="submit" name="Submit" value="Gerar Documento" class="form_botao">
         <input type="reset" name="Submit2" value="Limpar" class="form_botao">
       </p>
       </form>
   </td>
 </tr>
</table>
<p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="leiame.txt" target="_blank">leiame.txt</a> 
 </font></p>
<p align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Exemplo 
 criado por: <a href="http://www.phpbrasil.com/profile.php/id/282" target="_blank">Apoena 
 Machado Cunha</a></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br>
 </font></p>
</body>
</html>

 

geradoc.php

 

<?
if($file =="" || $file == "none")
{
echo "<center><a href=\"javascript:window.history.go(-1)\" class=\"links\">";
echo "Você precisa selecionar um <b>Template</b>.";
echo "</a></center>";
}
else
{
   header( "Content-type: application/msword" );
   header( "Content-Disposition: inline, filename=$file");

   // Abre seu template
   $arquivo = "$file";
   $fp = fopen ( $arquivo, "r" );

   //Le o template na variavel
   $output = fread( $fp, filesize( $arquivo ) );

   fclose ( $fp );

   //Substitui as tags pelas variáveis
   $output = str_replace( "<<empresa>>", $empresa, $output );
   $output = str_replace( "<<nome>>", $nome, $output );
   $output = str_replace( "<<endereco>>", $endereco, $output );
   $output = str_replace( "<<telefone>>", $telefone, $output );
   $output = str_replace( "<<email>>", $email, $output );
$output = str_replace( "<<site>>", $site, $output );
   //Envia documento para o browser
   echo $output;
}	

?>

 

Os templates para teste que tem no servido são:

 

etiquetas.rtf

teste.rtf

 

Não percebi nenhum erro no código acima, será que algum programador pode confirmar para mim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

antonio jorge, de forma alguma eu kiz lhe ofender (", mas cada um fala o que quer, entãod eixa quieto.")... você disse q ", talvez me falte um editor visual para css..." e o dreamweaver tem esse editor visual css...você apenas demonstrou nao saber usar o dreamweaver, eu tenho todas as versoes do dreamweaver, desde o mx, at o cs5.5, e conheco muito bem suas limitacoes....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok Igor sem problema, fique tranquilo, não me senti ofendido e sim limitado.

 

tb me senti assim ao perceber q ja tinha dominado o dream, mas ele sim tem limites, nao nos, entao eu fui atras de aprender a fazer os codigos...e percebi q nao eh nada dificl...so precisa de pratica...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.