Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/php/Pdf»
De WikiEducator
(Una revisión intermedia por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
{{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Fpdf/nav}} | {{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Fpdf/nav}} | ||
− | {{:Usuario:ManuelRomero/ProgramacionWeb/php/pdf/nav}} | + | <!--{{:Usuario:ManuelRomero/ProgramacionWeb/php/pdf/nav}}--> |
+ | ;MRM Revisar | ||
+ | puede ser interesante añadir https://www.pdfescape.com/ | ||
===PDF en php=== | ===PDF en php=== |
Última revisión de 21:37 13 sep 2020
- MRM Revisar
puede ser interesante añadir https://www.pdfescape.com/
PDF en php
Hay diferentes formas de generar un pdf desde php
- https://github.com/dompdf/dompdf
- https://html2pdf.fr/es/home
- Usar PDFLib https://www.pdflib.com/
- TCPDF https://tcpdf.org/
- Snnapy https://github.com/KnpLabs/snappy
- mpdf https://mpdf.github.io/
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
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
- 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
- Sigue aquí, o en la web oficial el resto de ejemplos