Mostrando entradas con la etiqueta php. Mostrar todas las entradas
Mostrando entradas con la etiqueta php. Mostrar todas las entradas

jueves, 11 de marzo de 2010

FPDF

FPDF es una librería para PHP que permite crear archivos .pdf de manera sencilla a través de su clase. Es una buena alternativa para crear informes en nuestra web. Aquí os dejo el ejemplo básico redactado en la página oficial (que además esta en español): Comencemos con el clásico ejemplo:
require('fpdf.php');

$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'¡Hola, Mundo!');
$pdf->Output();
?>

[Demo]

Después de incluir el fichero de la clase, creamos el objeto FDPF. El constructor FPDF() se usa aquí con sus valores por defecto: las páginas son de tamaño a4 alargado y la unidad de medida es el milímetro. Se podría haber declarado explícitamente con:
$pdf=new FPDF('P','mm','A4');
Es posible usar el formato apaisado(L), otros formatos de página (como Carta y Legal) y otras unidades de medida (pt, cm, in). Por el momento no hemos creado ninguna página, así que añadiremos una con AddPage(). El origen de coordenadas está en la esquina superior izquierda y la posición actual está por defecto situada a 1 cm de los bordes; los márgenes pueden cambiarse con SetMargins(). Antes de que podamos imprimir texto, es obligatorio escoger una fuente con SetFont(), si no, el documento no será válido. Escogemos Arial en negrita de tamaño 16:
$pdf->SetFont('Arial','B',16);
Podríamos haber especificado itálica con I, subrayado con U o normal con una cadena vacía (o cualquier combinación de las anteriores). Observe que el tamaño de la fuente se detemina en puntos, no en milímetros (ni en cualquier otra unidad establecida por el usuario); es la única excepción. Las otras fuentes incorporadas son Times, Courier, Symbol y ZapfDingbats. Ahora podemos imprimir una celda con Cell(). Una celda es una superficie rectangular, con borde si se quiere, que contiene texto. Se imprime en la posición actual. Especificamos sus dimensiones, el texto (centrado o alineado), si queremos dibujar o no los bordes, y dónde se ubicará la posición actual después de imprimir la celda (a la derecha, debajo o al principio de la siguiente línea). Para añadir el borde, deberemos hacer esto:
$pdf->Cell(40,10,'¡Hola, Mundo!',1);
Para añadir una nueva celda a continuación, con el texto centrado e ir a la siguiente línea, escribiremos:
$pdf->Cell(60,10,'Hecho con FPDF.',0,1,'C');
Nota: el salto de línea puede provocarse también mediante Ln(). Este método le permite especificar además la altura del salto. Finalmente, el documento se cierra y se envía al navegador con Output(). También podríamos haberlo guardado en un fichero pasando como parámetro el nombre del archivo. Cuidado: en caso de que el PDF se envíe al navegador, nada más debe enviarse, ni antes ni después (el más mínimo espacio en blanco o retorno de carro también cuenta). Si se envía algún dato antes, obtendrá el mensaje de error: "Some data has already been output, can't send PDF file". Si se envía después, su navegador puede que muestre únicamente una página en blanco. http://www.fpdf.org/ PD: He trabajado con esta clase en varios proyectos, la verdad que al principio cuesta un poco, pero viste mucho en la web generar un pdf automáticamente.

lunes, 8 de marzo de 2010

Clase Imagen PHP

El motivo de esta entrada es una clase para PHP programada por mi para facilitar el uso y la edición básica de imagenes en PHP. La clase imagen necesita el plugin GD para PHP instalado en el servidor, si usas un hosting probablemente la tengan habilitada. Además necesita tener permisos de escritura en la carpeta donde actue. Deberemos incluir la clase en nuestro codigo: include_once("Imagen.php"); Para inicializar la clase debemos crear un objeto con esta declaración: $img = new Imagen(); A partir de ahora la variable $img es un objeto que representa la imagen, lo siguiente es cargar los datos de la imagen, estos pueden venir de una cadena de caracteres (si proviene de una base de datos) o de un archivo: $img->desdeArchivo("ruta"); /*devuelve false si la imagen no es valida*/ o $img->desdeCadena($variableObtenidaDeBaseDeDatos); /*devuelve false si la imagen no es valida*/ Una vez hecho esto podemos obtener información sobre la imagen: $ext = $img->obtenerExtension(); $alto = $img->obtenerAlto(); $ancho = $img->obtenerAncho(); Tambiem podemos convertir la imagen de un formato a otro: $img->aJPG(); $img->aPNG(); $img->aGIF(); Además podemos redimensionar la imagen: $img->redimensionar(nuevoAlto, nuevoAncho, proporcion); Donde la proporción es un booleano indicando si se quiere o no mantener la relación de aspecto. Si deseamos exportar la imagen a otro archivo: $img->exportar("rutaNueva"); Tambien podemos añadirlo como texto a una consulta de base de datos $query="INSERT INTO imagen (datos) VALUES ('".$img->obtenerCadenaBD()."');"; O directamente mostrandola por pantalla, es decir, nuestro php se convierte en la imagen, para esto es necesario no haber enviado las cabezeras: $img->alNavegador(); Aqui dejo el link de esta clase que nos puede facilitar la vida a la hora de tratar con imagenes en php: http://netescom.org/descargas/Imagen-php.zip -