Diferencia entre revisiones de «Usuario:ManuelRomero/php/smarty/pdf»

De WikiEducator
Saltar a: navegación, buscar
(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 20:22 17 feb 2020

Road Works.svg Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos.
Ver página de charlas.
Road Works.svg






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