Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/php/Pdf»

De WikiEducator
Saltar a: navegación, buscar
(Página creada con «{{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Fpdf/nav}} {{:Usuario:ManuelRomero/ProgramacionWeb/pgp/pdf/nav}} ===PDF en php=== Hay diferentes formas de generar u...»)
 
Línea 1: Línea 1:
 
{{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Fpdf/nav}}
 
{{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Fpdf/nav}}
{{:Usuario:ManuelRomero/ProgramacionWeb/pgp/pdf/nav}}
+
{{:Usuario:ManuelRomero/ProgramacionWeb/php/pdf/nav}}
  
  

Revisión de 21:26 17 feb 2020





Práctica Tienda  |  {{ProjectNav |image = Php logo.png |title = Separando la lógica de presentación y la de negocio

Presentación y programación colaborando ... cada una en un sitio

|tagline = PHP Un lenguaje de script al lado del servidor |pages = PDF en php con FPDF | Ejercicios  | 

Práctica Tienda  | 


PDF en php

Hay diferentes formas de generar un pdf desde php

FPDF una clase de php

  • FPDF es una clase escrita en PHP que permite generar un archivo PDF sin necesidad de utilizar PDFlib.
  • Como indican en la propia página de FPDF No es tan rápido, pero si tiene muchas ventajas y sobre todo control total sobre la clase que es libre.
  • FPDF es gratis y puede ser descargado desde la web oficial en su sección de descarga. El paquete de descarga contiene los archivos necesarios, junto con algunos tutoriales de cómo utilizarlo.

FPDF

  • Accedemos a la web que está en castellano
  • Aquí para ver las características
http://www.fpdf.org/?lang=es

Descarga

  • Se descarga en nuestro proyecto y lo podemos usar direactamente
http://www.fpdf.org/es/download
  • Descargamos la última version 1.81
(se descarga un fichero fpdf181.zip
  • lo descomprimimos y nos crea la siguiente estructura de directorios

Pdf dir.png

Usando pdf

  • Creamos un proyecto donde instanciamos un objeto de la clase FPDF
  • Siempre tendremos que añadir una página antes de escribir algo AddPage()
  • Debemos establecer una fuente de letra SetFont(...)
  • Podemos escribir (hay varias formas) escribir una celda con contenidoCell(..) escribir un textowrite(..) escribir varias celdasmultiCell(...)
  • Generaremos el pdf save()'
  • Nunca debe de haber ningún echo antes de generar la pagina
<?php
require('fpdf.php');
 
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'¡Primera página!');
$pdf->Output();
?>
  • Vemos que se produce una salida con caracteres no utf-8

Pdf ej11.png

  • Para solucionar esta situación usamos la función de php 'utf8_decode'
<?php
require('fpdf.php');
 
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,utf8_decode('¡Primera página!'));
$pdf->Output();
?>
  • Ahora vemos la salida con utf-8

Pdf ej2.png

  • Sigue aquí, o en la web oficial el resto de ejemplos