Crear PDF con PHP

En el día de hoy quiero enseñarles algo muy sencillo pero útil que podemos hacer en PHP y es crear archivos PDF. Para ello utilizaremos la clase FPDF, que pueden descargar desde aquí.
El archivo que vamos a crear tiene que estar en la misma carpeta de la clase (fpdf.php) ;)

Bien, lo primero que vamos hacer es llamar la clase usando require:

require(’fpdf.php’);

Creamos el objeto FPDF

$pdf=new FPDF();

De esta manera se usan los valores por defecto que son tamaño a4 alargado y la unidad de medida es el milímetro. Para este tutorial usaremos los valores por defecto pero para cambiar el formato lo hacemos de la siguiente manera:

$pdf=new FPDF(‘P’,’cm’,’Letter’); // Aquí estamos usando cm como unidad de medida y formato carta.

Podemos usar otros valores de medida como:
pt: punto
mm: milímetro
cm: centímetro
in: pulgada

Y podemos usar los siguientes formatos:
A3
A4
A5
Letter
Legal

Pueden encontrar información más detallada aquí.

Tenemos que crear una pagina y lo hacemos de la siguiente manera:

$pdf->AddPage();

Por defecto el texto aparecerá en la esquina superior izquierda y y la margen será de 1 cm, estos valores los podemos modificar usando SetMargins() pero por hoy no explicare como se usa.

A esta página para darle las características del texto usamos SetFont() es obligatorio invocar este método antes de imprimir texto y se usaría de la siguiente manera:

$pdf->SetFont(’Arial’,’B’,18);

Como ven lo que hacemos es usar Arial como fuente, negrita (B) y el tamaño del texto será 18.

Nota: No usar comillas para el tamaño.

Podríamos haber especificado itálica con I, subrayado con U ó fuente Times, Courier, Symbol y ZapfDingbats. Pueden encontrar más información aquí de como usar SetFont.

Listo ahora podemos imprimir el texto que queramos usando Cell()

$pdf->Cell(40,10,’¡Hola, gente de Muriba!’);

Lo que hacemos es crear una celda, especificando sus dimensiones (40,10 mm) y seguidamente el texto que se quiere imprimir en este caso “¡Hola, gente de Muriba!”

Por ultimo cerramos con Output()

$pdf->Output();

Con Output podemos darle el nombre al pdf, si no lo hacemos por defecto creara doc.pdf, si queremos establecer un nombre al pdf lo podemos hacer de la siguiente manera:

$pdf->Output(”muriba.pdf”, “I”); // Usamos “I” para enviar el fichero al navegador de forma que se usa la extensión (plug in) si está disponible.

Output tiene más opciones, pero no las explicare hoy, si desean información de las funciones de Output pueden encontrarla aquí.

El código completo seria:

AddPage();
$pdf->SetFont('Arial','B',18);
$pdf->Cell(40,10,'¡Hola, gente de Muriba!');
$pdf->Output("muriba.pdf", "I");
?>

  5 Comentarios

  1. Javier Zambrana   •  

    Hola Brian.

    Visita http://resduc.xp3.biz

    Quizás te interese.

    Ponte en contacto conmigo.

    Saludos:
    Javier Zambrana
    Ingeniero Técnico en Informática

  2. Brian Urban   •     Autor


    felix:

    mi duda es como gerero un pdf com php y mysql, ya eta conextada con la base de dato consulto chevere pero me falta es el reporte q es de nombre appellido cedula semestre y nota es un sotfware de arquitectura del computador ayuda xfa me puden enviar un codigo completo q solo lo ponga y ya sin tantos pero xfaaaaaaaaaaaaaaaaaaa

    Muy pronto publicare como hacer algo así.
    Saludos.

  3. felix   •  

    mi duda es como gerero un pdf com php y mysql, ya eta conextada con la base de dato consulto chevere pero me falta es el reporte q es de nombre appellido cedula semestre y nota es un sotfware de arquitectura del computador ayuda xfa me puden enviar un codigo completo q solo lo ponga y ya sin tantos pero xfaaaaaaaaaaaaaaaaaaa

  4. Brian Urban   •     Autor


    gabriel:

    chispas me perdi,

    no entiendo y si quiero sacar el teexto que va a llevar de variables que obtendre de un formulario y que tenga el logo?

    saludos

    Para hacerlo desde un formulario debes usar post o get. Puedes encontrar un ejemplo en: webestilo.com/php/php09b.phtml

  5. gabriel   •  

    chispas me perdi,

    no entiendo y si quiero sacar el teexto que va a llevar de variables que obtendre de un formulario y que tenga el logo?

    saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *