domingo, 22 de abril de 2012

Generar reporte PDF con HTMLDOC y PHP en un Servidor Debian


Los reportes para los sistemas web son realmente un dilema ya que es dificil adaptar una configuración estandar por la variedad de Navegadores web que existen, es por esto que se toma como solución generar un archivos PDF para la emisión de informes. Una de las soluciones mas rapidas es usar el HTMLDOC, ya que no es necesario aprender nuevas sintaxis para generar los mismos, a continuación se explica como generar los reportes con esta herramienta.

Se debe instalar la aplicación HTMLDOC, para esto ingresamos a un terminal como superusuario e ingresamos en siguiente comando:
# aptitude install htmldoc
 
Después de instalar el paquete podemos empezar a trabajar, se debe tomar en cuenta que el mismo va a constar de 3 archivos de gran importancia, el primero es donde tenemos el reporte que se desea convertir en este caso lo llamaremos alumnos.php, el segundo sería la función que se encargará de generar el pdf la cual la vamos a llamar generar_pdf.php, el tercero es un archivo html en blanco el cual se va a encargar de cumplir la función de plantilla, a este lo llamaremos template.html:
  • Archivo 1 (alumnos.php):
<?php 
//aca se encuentra la  conexión con el servidor y el archivo de la función 
para generar el pdf
include("conexion.php");
include("generar_pdf.php");

//consulta que va permitir mostrar los alumnos de forma dinamica
$consulta= mysql_query("SELECT   * from alumnos ");

//contenido html y php que hace mostrar el reporte el mismo debe ir todo igualado 
a una variable como se muestra a continuación

$html="<html>
<head> </head>
<body>
<table>
<tr> <td>  cedula </td> <td> nombres </td> </tr> 
";
while($fila=mysql_fetch_array($consulta))
{ $x.= "<tr> <td>".$fila['ced_alumno']."</td> <td>".$fila['nom_alumno']."</td> </tr>"; }
$html.= $x;
$html.="</table>

</body>
</html>";

//nombre del archivo que se va a generar              
$nom_pdf='alumnos_plantel.pdf';

//llamado de la función donde le pasamos el contenido de reporte y el nombre del archivo 
a generar.
generar_pdf($html,$nom_pdf);         

?>
  • Archivo 2 (generar_pdf.php)
<?php 

//aca empieza la función para generar el pdf 

 function generar_pdf($html,$nom_pdf) 
     {
       //este es el nombre del tercer archivo que lo usaremos como plantilla
       $archivo_temporal = "template.html";

       $fileHandle = fopen($archivo_temporal, 'w') or die("No se ha podido crear el archivo");
       fwrite($fileHandle, $html);
       fclose($fileHandle);
       putenv("HTMLDOC_NOCGI=1");
       header("Content-Type: application/pdf");

       //aca hace referencia al nombre del archivo que se va a generar            
       header("Content-Disposition: attachment; filename=".$nom_pdf."");

       //opciones de sobre la configuración de reporte
       passthru("htmldoc --embedfonts --format pdf --left 2.5cm --right 1.5cm --top 1.5cm 
             --bottom 1.5cm "."--headfootsize 5 --header 'l' --footer 't' '/' " .
            "--logoimage ../Imagenes/SCELogo.png --linkcolor '#0000FF' " .
            "--size 'a4' --fontsize 10 --bodyfont Verdana --charset 8859-15 " .
            "--webpage '$archivo_temporal'");
    }

?>
  • Archivo 3 (template.html) a este archivo se deja completamente en blanco solamente se guardar con la extención html.
  • Luego lo que queda es hacer el llamado del archivo 2 por medio del la URL de su servidor web.
  • Exitos...

domingo, 12 de junio de 2011

Subir un proyecto a Gitorius desde un equipo con un SO Debian

1- Debemos instalar el paquete git-core
   %aptitude install git-core

2- Nos registramos como usuarios en https://gitorious.org

3- Tenemos que generar nuestra llave con el siguiente comando en consola
    %ssh-keygen

4- accedemos al directorio /home/usuario/.ssh

5- copiamos lo que esta adentro del archivo id_rsa.pub

6- luego accedemos a nuestra sesion de gitorious e ingresamos lo que copiamos al "Manage SSH Keys"

7- Creamos el proyecto y el repositorio en https://gitorious.org/new

8- luego de haber creado el proyecto en gitorios, procedemos a crear nuestro espacio de trabajo, donde va a estar las fuentes
  % mkdir tmp
  % cd tmp

10- Ahora, solicita una copia de tu proyecto "vacío". En mi caso  su nombre es "canaima_calendario":
  %  git clone git@gitorious.org:canaima_calendario/canaima_calendario.git

11- Un directorio con el nombre de tu proyecto será creado. Ingresa a él:
  % cd canaima_calendario/

12- Crea una rama llamada "master" en tu repositorio desde Gitorious, ejecutando:
  % git remote add master git@gitorious.org:canaima_calendario/canaima_calendario.git

13- Copia todo el código fuente de tu proyecto en el interior del directorio que fue creado cuando realizaste el paso 10.

14- Añade los nuevos archivos a esta rama (master):
  % git add .

15- haz commit de todos los achivos que copiaste en el paso 13:
  % git commit -a
  Aca se abrirá un documento en consola en el cual debemos copiar que cambios le estamos realizando al proyecto y luego pulsamos la tecla Esc y seguimos con las teclas :wq para guardar los cambios
 
16-  Actualiza tu proyecto en el repositorio de Gitorious:
  % git push --all

Esto pasos anteriores son hechos para empezar a trabajar, pero si ya estamos interactuando con gitorious y con otra usuarios se recomienda hacer los siguientes pasos:

Verificar si los otros usuarios han hecho cambios en el código:
    %git pull
 
Si el resultado nos indica que no esta actualizado el codigo que tenemos en la web con el del repo local debemos ejecutar el siguiente comando

   %git pull --commit

Después que nos arroje el resultado de que ya estamos actualizado podemos empezar a trabajar y repetimos los pasos del 14 al 16.

Si todo sale bien, entonces podrás consultar tu código desde el sitio web de Gitorious

lunes, 25 de abril de 2011

Instalar Driver Tarjeta de Red Inalambrica Broadcom BCM4318 en Debian Squeeze 6.0 - Canaima 3.0

A continuación se procederá a explicar paso a paso la instalación del controlador de la Tarjeta de Red Inalambrica Broadcom BCM4318 la cual esta instalada en mi portátil una Compaq Presario V2000 para que funcione correctamente en los Sistemas Operativos Debian Squeeze 6.0 - Canaima 3.0:


1) Acceder a un terminal como usuario ROOT.


2) Añadimos la siguiente dirección a la lista de repositorios de la siguiente manera:


gedit /etc/apt/sources.list
deb http://ftp.us.debian.org/debian squeeze main contrib non-free
3) Actualizamos y luego instalamos el paquete wireless-tools

aptitude update
aptitude install wireless-tools

4) Se procede a instalar el firmware correspondiente al dispositivo

aptitude install firmware-b43-installer

5) Si es necesario, se puede verificar o cargar manualmente el siguiente modulo del Kernel a través de:

modprobe b43

6) Verificar la disponibilidad de la interfaz:

iwconfig

7) levantamos la interfaz  para activarla:

ifconfig wlan0 up 

Listo a disfrutar de su red inalambrica lista para usar.