https://manuais.iessanclemente.net/index.php?title=Generaci%C3%B3n_de_PDF%27s_con_PHP_y_la_librer%C3%ADa_DOMPDF&feed=atom&action=historyGeneración de PDF's con PHP y la librería DOMPDF - Historial de revisiones2024-03-28T16:55:56ZHistorial de revisiones de esta página en el wikiMediaWiki 1.36.2https://manuais.iessanclemente.net/index.php?title=Generaci%C3%B3n_de_PDF%27s_con_PHP_y_la_librer%C3%ADa_DOMPDF&diff=34907&oldid=prevVeiga: /* Configuración de la librería DOMPDF */2013-05-14T19:09:30Z<p><span dir="auto"><span class="autocomment">Configuración de la librería DOMPDF</span></span></p>
<p><b>Página nueva</b></p><div>= Generación de PDF's con PHP =<br />
<br />
Vamos a ver cómo generar PDF's desde PHP empleando una librería llamada DomPDF.<br />
<br />
Esta librería nos permite convertir un documento HTML a PDF, con lo cuál es muy sencillo el generar cualquier documento PDF, simplemente generando la página HTML e indicándole a la librería que genere el documento PDF.<br />
<br />
[https://github.com/dompdf/dompdf Página oficial de la librería DomPDF ]<br />
<br />
== Descarga de la librería DOMPDF ==<br />
<br />
Desde github podremos descargar la librería.<br />
<br />
https://github.com/dompdf/dompdf/archive/master.zip<br />
<br />
Una vez descargada y descomprimida, las únicas carpetas que necesitamos son '''include''', '''lib''' y los ficheros '''dompdf_config.custom.inc.php''' y '''dompdf_config.inc.php'''.<br />
<br />
Nos copiaremos esas carpetas y esos ficheros a una carpeta de nuestro proyecto, por ejemplo a la carpeta '''/lib/pdf/'''.<br />
<br />
== Requerimientos previos ==<br />
* PHP 5.0+ (5.3 recomendado)<br />
* Extensión MBString<br />
* Extensión DOM (incluída con PHP5)<br />
* Algunas fuentes. Internamente soporta Helvetica, Times-Roman, Courier y Zapf-Dingbats, pero si deseas usar otras tendrás que instalarlas.<br />
<br />
Más información en: https://github.com/dompdf/dompdf<br />
<br />
== Configuración de la librería DOMPDF ==<br />
<br />
En el fichero dompdf_config.inc.php está la configuración por defecto de la aplicación, pero si queremos configurar nuestros parámetros podremos hacerlo editando el ficheor '''dompdf_config.custom.inc.php''' y descomentando las líneas que nos interesen y activando o desactivando sus valores, por ejemplo:<br />
<br />
<syntaxhighlight lang='php'><br />
//define("DOMPDF_TEMP_DIR", "/tmp");<br />
//define("DOMPDF_CHROOT", DOMPDF_DIR);<br />
define("DOMPDF_UNICODE_ENABLED", true);<br />
define("DOMPDF_PDF_BACKEND", "PDFLib"); //CPDF<br />
define("DOMPDF_DEFAULT_MEDIA_TYPE", "print");<br />
define("DOMPDF_DEFAULT_PAPER_SIZE", "A4");<br />
//define("DOMPDF_DEFAULT_FONT", "serif");<br />
//define("DOMPDF_DPI", 72);<br />
define("DOMPDF_ENABLE_PHP", true);<br />
define("DOMPDF_ENABLE_REMOTE", true);<br />
define("DOMPDF_ENABLE_CSS_FLOAT", true);<br />
//define("DOMPDF_ENABLE_JAVASCRIPT", false);<br />
//define("DEBUGPNG", true);<br />
//define("DEBUGKEEPTEMP", true);<br />
//define("DEBUGCSS", true);<br />
//define("DEBUG_LAYOUT", true);<br />
//define("DEBUG_LAYOUT_LINES", false);<br />
//define("DEBUG_LAYOUT_BLOCKS", false);<br />
//define("DEBUG_LAYOUT_INLINE", false);<br />
//define("DOMPDF_FONT_HEIGHT_RATIO", 1.0);<br />
//define("DEBUG_LAYOUT_PADDINGBOX", false);<br />
//define("DOMPDF_LOG_OUTPUT_FILE", DOMPDF_FONT_DIR."log.htm");<br />
//define("DOMPDF_ENABLE_HTML5PARSER", true);<br />
//define("DOMPDF_ENABLE_FONTSUBSETTING", true);<br />
<br />
// DOMPDF authentication<br />
//define("DOMPDF_ADMIN_USERNAME", "user");<br />
//define("DOMPDF_ADMIN_PASSWORD", "password");<br />
<br />
</syntaxhighlight><br />
<br />
== Uso básico de la librería DOMPDF ==<br />
<br />
Lo primero que tendremos que hacer es cargar la librería, y a partir de ahí podremos generar el documento HTML que luego imprimiremos.<br />
<br />
'''ATENCIÓN''': Si no vamos a usar fuentes adicionales tendremos que ir a la línea '''335''' del fichero '''dompdf_config.inc.php''' y comentarla.<br />
<br />
Véase el siguiente ejemplo de utilización de dicha librería:<br />
<br />
<syntaxhighlight lang='php'><br />
<br />
<?php <br />
# Cargamos la librería dompdf.<br />
require_once 'lib/pdf/dompdf_config.inc.php';<br />
<br />
# Contenido HTML del documento que queremos generar en PDF.<br />
$html='<br />
<html><br />
<head><br />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><br />
<title>Ejemplo de Documento en PDF.</title><br />
</head><br />
<body><br />
<br />
<h2>Ingredientes para la realización de Postres.</h2><br />
<p>Ingredientes:</p><br />
<dl><br />
<dt>Chocolate</dt><br />
<dd>Cacao</dd><br />
<dd>Azucar</dd><br />
<dd>Leche</dd><br />
<dt>Caramelo</dt><br />
<dd>Azucar</dd><br />
<dd>Colorantes</dd><br />
</dl><br />
<br />
</body><br />
</html>';<br />
<br />
# Instanciamos un objeto de la clase DOMPDF.<br />
$mipdf = new DOMPDF();<br />
<br />
# Definimos el tamaño y orientación del papel que queremos.<br />
# O por defecto cogerá el que está en el fichero de configuración.<br />
$mipdf ->set_paper("A4", "portrait");<br />
<br />
# Cargamos el contenido HTML.<br />
$mipdf ->load_html(utf8_decode($html));<br />
<br />
# Renderizamos el documento PDF.<br />
$mipdf ->render();<br />
<br />
# Enviamos el fichero PDF al navegador.<br />
$mipdf ->stream('FicheroEjemplo.pdf');<br />
?><br />
<br />
</syntaxhighlight><br />
<br />
== Documentación y Wiki de la librería DOMPDF ==<br />
<br />
* [http://code.google.com/p/dompdf/wiki/Installation Instalación]<br />
* [http://code.google.com/p/dompdf/wiki/Usage Uso de la librería]<br />
* [http://pxd.me/dompdf/www/examples.php Ejemplos]<br />
<br />
--[[Usuario:Veiga|Veiga]] ([[Usuario discusión:Veiga|discusión]]) 02:15 6 may 2013 (CEST)</div>Veiga