Diferencia entre revisiones de «Usuario:ManuelRomero/php/smarty/pdf»
De WikiEducator
< Usuario:ManuelRomero | php
(Página creada con «{{TEP}} {{:Usuario:ManuelRomero/php/smarty/tienda/nav}}») |
|||
Línea 1: | Línea 1: | ||
{{TEP}} | {{TEP}} | ||
{{:Usuario:ManuelRomero/php/smarty/tienda/nav}} | {{:Usuario:ManuelRomero/php/smarty/tienda/nav}} | ||
+ | {{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Fpdf/nav}} | ||
+ | |||
+ | |||
+ | ===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 | ||
+ | [[Archivo:pdf_dir.png]]<br /> | ||
+ | |||
+ | ===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 contenido'''''Cell(..)''''' escribir un texto'''''write(..)''''' escribir varias celdas'''''multiCell(...)''''' | ||
+ | *Generaremos el pdf '''''save()'''''' | ||
+ | *Nunca debe de haber ningún echo antes de generar la pagina | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | require('fpdf.php'); | ||
+ | |||
+ | $pdf = new FPDF(); | ||
+ | $pdf->AddPage(); | ||
+ | $pdf->SetFont('Arial','B',16); | ||
+ | $pdf->Cell(40,10,'¡Primera página!'); | ||
+ | $pdf->Output(); | ||
+ | ?> | ||
+ | </source> | ||
+ | *Vemos que se produce una salida con caracteres no utf-8 | ||
+ | [[Archivo:pdf_ej11.png]] | ||
+ | *Para solucionar esta situación usamos la función de php ''''utf8_decode'''' | ||
+ | <source lang=php> | ||
+ | <?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(); | ||
+ | ?> | ||
+ | </source> | ||
+ | *Ahora vemos la salida con utf-8 | ||
+ | [[Archivo:pdf_ej2.png]] | ||
+ | |||
+ | *Sigue aquí, o en la web oficial el resto de ejemplos | ||
+ | |||
+ | *http://fpdf.org/es/tutorial/tuto1.htm | ||
+ | *http://fpdf.org/es/tutorial/tuto2.htm | ||
+ | *http://fpdf.org/es/tutorial/tuto3.htm | ||
+ | *http://fpdf.org/es/tutorial/tuto4.htm | ||
+ | *http://fpdf.org/es/tutorial/tuto5.htm | ||
+ | *http://fpdf.org/es/tutorial/tuto6.htm | ||
+ | *http://fpdf.org/es/tutorial/tuto7.htm |
Última revisión de 21:22 17 feb 2020
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |
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