Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/03/2013, 07:50
Avatar de loncho_rojas
loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Crear PDF y guardarlo con posibilidad de imprimir

Tema siempre complicado, sobre todo porque hay que leer bastante... te paso esto... leelo.

http://mpdf1.com/manual/

aqui un ejemplo de uso, espero te sirva:

Código PHP:

<?php 
// se hace el include de la clase que tiene que bajarla
include('../MPDF56/mpdf.php');
include(
'../../link/connect.php');

//esta parte esta toda escrita a mano para que se entienda nada mas, por lo general
//se arman dinamicamente con includes y otras tecnicas

if($_POST){
    
    
    
$sql="SELECT nombre, apellido, trato FROM usuarios WHERE id_usuario=".$_SESSION["k_idcliente"];
    
$querymysql_query($sql$conn) or die(mysql_error());
    
$row mysql_fetch_array($query);
    
    if(
$row["trato"]==""){
        
        
$docente $row["nombre"]." ".$row["apellido"];
    }else{
        
        
$docente $row["trato"]." ".$row["nombre"]." ".$row["apellido"];
    }
    
    
$inst$_POST['institucion'];
    
$secc$_POST['seccion'];
    
$turno$_POST['turno'];

//en esta variable html guardo mi estructura.
$html '<style type="text/css">

p, li{
    font-family:"Times New Roman", Times;
    font-size:12px;
}

h2{
    font-family: "Trebuchet MS";
    font-size:24px;
    color:#333;
    font-weight:normal;
    margin: 0;
}




#cuadro1{
width:30px;
 height:180px; 
 background-color:#423f40; 
 float:left;
}

#cuadro2{
 width:625px;
 height:40px; 
 background-color:#87868a;
 margin-left:10px; 
 padding-top:140px;
 padding-left: 15px;
 float:left;
 font-family:Trebuchet MS;
 font-size: 28px;
 color:#FFF;
}

#contenedor{
    width:700px;
 margin:0 auto;
 padding-left:55px;
}

#datos{
    width:100%;
    font-family: Times New Roman, Times, serif;
    font-size:13px;
}

#datos table{
    width:650px;
}

#competencias{
    width:100%;
    
}


#competencias ul li,#competencias p{
    text-align:justify;
    
}

.titulacion{
    font-weight: bold;
    font-size: 13px;
}

.guia{
    font-family:"Trebuchet MS";
    font-size:10px;
    font-weight: bold;
    color: #666;

}

.materia{
    font-family:"Trebuchet MS";
    font-size:10px;
    color: #999;

}
.data{
    font-family:"Trebuchet MS";
    font-size:13px;

}

.table-line{
    border-bottom:#666666 thin solid;
}

.epigrafe-der{
    font-family:"Trebuchet MS";
    font-size:9px;
    font-style:italic;
    color:#999999;
    
}

#foot{
    position:absolute;
    clear:both;
    top:1000px;
    
}

.obs{
    padding:20px;
    background-color:#999;
}

</style>'
;

 
 
//cuadro1
 
$html .= '<div id="cuadro1">&nbsp;</div>';

 
//cuadro2
 
$html.='<div id="cuadro2">PROYECTO/PLAN ANUAL</div>';
 
 
 
//contenedor INICIO
 
$html.='<div id="contenedor">';
 
 
//encabezado
 
$html .= '<div style="clear:both;"><h2>IDENTIFICACIÓN:</h2></div>';
 
 
//datos docentes
 
$html.='<div id="datos">
 
 <table border="0" cellspacing="0" cellpadding="3">
      <tr>
        <td width="90">Instituci&oacute;n:</td>
        <td width="550" class="table-line"><span class="data">'
.$inst.'</span></td>
      </tr>
      <tr>
        <td>Docente:</td>
        <td class="table-line"><span class="data">'
.$docente.'</span></td>
      </tr>
      <tr>
        <td>Grado:</td>
        <td class="table-line"><span class="data">7.&deg;</span></td>
      </tr>
      <tr>
        <td>Sección:</td>
        <td class="table-line"><span class="data">'
.$secc.'</span></td>
      </tr>
      <tr>
        <td>Turno:</td>
        <td class="table-line"><span class="data">'
.$turno.'</span></td>
      </tr>
    </table>
 
 
 </div>'
;
    
 
//competencias
 
$html.='<div id="competencias">
 
     <p class="titulacion">Competencia del área para el tercer ciclo de la EEB</p>
    
    <p>Formula y resuelve situaciones problemáticas que involucren la utilización de: operaciones matemáticas
con números reales y expresiones algebraicas; unidades de medidas; conceptos, principios y
elementos de la Geometría plana y del espacio; procedimientos básicos de la Estadística descriptiva y
de la Probabilidad, en variados contextos.</p>

    
    <p class="titulacion">Alcance de la competencia en el séptimo grado</p>
    
    <p>En relación con la competencia del ciclo, se espera que el estudiante al término del 7.&deg; grado:
    <ul>
    
    <li>Comprenda conceptos y procedimientos fundamentales del sistema numérico referidos a: conjuntos
de números enteros y racionales y, de la Geometría plana referidos a: ángulos y polígonos de tres
y cuatro lados; y del álgebra relacionados a ecuaciones lineales. Asimismo, se espera que formule y
resuelva situaciones problemáticas que involucren la utilización de algoritmos y propiedades de las
operaciones fundamentales con números enteros y racionales, y resuelva situaciones que involucren
la utilización de: a) la potenciación y la radicación; con números enteros y racionales, b) ecuaciones
lineales con una incógnita y, c) el Teorema de Pitágoras. Se espera también que interprete el comportamiento
de datos y elabore conclusiones a partir de la recolección, la organización, la representación
en tablas de frecuencias y gráficos circulares, y la determinación de la moda para datos no agrupados.</li>

    
    
    </ul>
    </p>
    

    
    
    <div class="obs">
    <p class="titulacion">Para tener en cuenta:</p>
    <p>En el mes de febrero, habitualmente, las instituciones educativas dan orientaciones generales relacionadas con el a&ntilde;o lectivo.</p>
    </div>
    
 
     

 </div>'
;
 
 
 
 
 
 
 
//contenedor FINAL
  
$html.='</div>';
  
  
  

//llamamos a la clase mPDF
$mpdf=new mPDF();

//creamos una nueva pagina por defecto A4, con 2cm de left, 1cm de right
//0,8cm de top y 2 cm de bot en margenes de hoja.. 
$mpdf->AddPage('P','','','','',20,10,8,20,'','');

//habilito para que me lea html
$mpdf->WriteHTML($html);

//le creo un pie de pagina
//tambien puedes poner un encabezado con setHeader, hay que leer el manual
$mpdf->SetFooter('Guía didáctica / Matemática 7');
//personalizo mi footer con el tamaño de letra, estilo BI = Bold Italic
$mpdf->defaultfooterfontsize=9;
$mpdf->defaultfooterfontstyle='BI';
$mpdf->defaultfooterline=0;

//esta parte es muy importante, ya que el Output sin parametros solo te mostrará
//el archivo en el navegador
//EN este caso le pongo parámetros para que cuando se genere el pdf, automáticamente
//me lo renombre como "matematica 7.pdf" el segundo parámetro es una D que indica DOWNLOAD
// es decir, que no se abrirá el archivo en el navegador, sino que se descargará cuando se genere
//puedes cambiar los parametros
//aqui tienes mas detalles http://mpdf1.com/manual/index.php?tid=125&searchstring=Output
$mpdf->Output('Matematica 7.pdf','D');

}


?>
Tambien existe otra clase llamada FPDF pero me cuesta trabajarlo con HTML y CSS
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...