<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Petra Link Factory &#187; PDF</title>
	<atom:link href="http://www.petralinkfactory.com/tag/pdf/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.petralinkfactory.com</link>
	<description>Programar no es un hobby es una pasión</description>
	<lastBuildDate>Sun, 15 Jan 2012 09:14:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>html2pdf</title>
		<link>http://www.petralinkfactory.com/2008/09/28/html2pdf/</link>
		<comments>http://www.petralinkfactory.com/2008/09/28/html2pdf/#comments</comments>
		<pubDate>Sun, 28 Sep 2008 19:14:42 +0000</pubDate>
		<dc:creator>Valde</dc:creator>
				<category><![CDATA[programación]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.petralinkfactory.com/blog/?p=19</guid>
		<description><![CDATA[De las librerÃ­as que se vieron en el anterior post, esta librerÃ­a es la que me parece mÃ¡s fÃ¡cil de utilizar. Lo primero que tenmos que hacer es descargarnos el fichero dese la web de la librerÃ­a [1]. El sitio &#8230; <a href="http://www.petralinkfactory.com/2008/09/28/html2pdf/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>De las librerÃ­as que se vieron en el anterior <a title="PDF en php" href="http://www.petralinkfactory.com/2008/09/08/pdf-en-php/" target="_blank">post</a>, esta librerÃ­a es la que me parece mÃ¡s fÃ¡cil de utilizar.</p>
<p>Lo primero que tenmos que hacer es descargarnos el fichero dese la web de la librerÃ­a [1]. El sitio estÃ¡ en FrancÃ©s, por lo que voy a poner el enlace directo de la descarga de la versiÃ³n actual a dÃ­a de hoy es la 3.13 [2].</p>
<p>Una vez que ya estÃ¡ descargado descomprimimos el contenido en un directorio.<a href="http://www.petralinkfactory.com/wp-content/uploads/2009/01/carpetas.jpg"><img class="aligncenter size-medium wp-image-26" title="Contenido de Zip" src="http://www.petralinkfactory.com/wp-content/uploads/2009/01/carpetas-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;">Nos encontramos con 4 directorios y 6 archivos, de aquÃ­ solo nos quedaremos con 3 directorios (<strong>_fpdf</strong>, <strong>_mypdf </strong>y <strong>languages</strong>) y con 3 ficheros (<strong>html2pdf.class.php</strong>, <strong>parsingHTML.class.php</strong> y <strong>styleHTML.class.php</strong>). Yo te recomiendo que guardes todo esto en un directorio dentro del directorio donde guardes los includes en tus proyectos, en mi caso es <strong>includes</strong>.</p>
<p style="text-align: left;">En este artÃ­culo voy a enseÃ±ar 3 ejemplos que son bastante censillos.</p>
<h3 style="text-align: left;">Ejemplo 1:</h3>
<p>Este ejemplo es muy sencillo, no es mÃ¡s que poner un texto y generar un PDF con dicho texto.</p>
<p>Lo primero que vamos a ver en este ejemplo son los tags especiales. Hay 3:</p>
<ul>
<li>page: con este tag delimitamos el contenido de una pÃ¡gina. En este indicamos el tipo de documento y los margenes left y top, el bottom y right no se pueden poner.
<pre>&lt;page backtop="10mm" backbottom="10mm" backleft="10mm"&gt; ... &lt;/page&gt;</pre>
<p>El contenido que hay dentro de este tag es lo que se muestra en la pÃ¡gina del PDF.<br />
Cuando insertes el cÃ³digo HTML recuerda que las propiedades las debes poner en el parametro style, como por ejemplo en una tabla, deberÃ­as poner &lt;table style=&#8221;width: 100%px; color: black;&#8221;&gt;</li>
<li>page_footer: Pie de pÃ¡gina. Esta etiquieta debe estar dentro de la etiqueta page y su contenido puede ser un html.</li>
<li>page_header: cabecera. Esta etiquieta debe estar dentro de la etiqueta page y su contenido puede ser un html.</li>
</ul>
<p><a href="http://www.petralinkfactory.com/ejemplos_html2pdf/ejemplo1.php" target="_blank">AquÃ­</a> puedes ver el fichero pdf generado en este primer ejemplo.</p>
<h3 style="text-align: left;">Ejemplo 2:</h3>
<p>En este caso el contenido de lo que vamos a mostrar lo vamos a recoger de una plantilla y sustituimos datos de dicha plantilla desde el cÃ³digo.</p>
<p><a href="http://www.petralinkfactory.com/ejemplos_html2pdf/ejemplo2.php" target="_blank">AquÃ­</a> puedes ver el fichero pdf generado en este primer ejemplo.</p>
<h3 style="text-align: left;">Ejemplo 3:</h3>
<p>En este Ãºltimo ejemplo lo que vamos a ver los distintos cÃ³digos de barras que puede sacar la librerÃ­a html2pdf.</p>
<p><a href="http://www.petralinkfactory.com/ejemplos_html2pdf/ejemplo3.php" target="_blank">AquÃ­</a> puedes ver el fichero pdf generado en este primer ejemplo.</p>
<h3>Documentos del artÃ­culo.</h3>
<p>Desde <a title="Descarga los ficheros" href="http://www.petralinkfactory.com/ejemplos_html2pdf.rar">aquÃ­</a> te puedes descargar todos los ficheros del artÃ­culo.</p>
<h3>Enlaces:</h3>
<p>[1] <a href="http://html2pdf.spipu.net/">http://html2pdf.spipu.net/</a></p>
<p>[2] http://prgm.spipu.net/?id=29&amp;download</p>
]]></content:encoded>
			<wfw:commentRss>http://www.petralinkfactory.com/2008/09/28/html2pdf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PDF en PHP</title>
		<link>http://www.petralinkfactory.com/2008/09/08/pdf-en-php/</link>
		<comments>http://www.petralinkfactory.com/2008/09/08/pdf-en-php/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 09:49:26 +0000</pubDate>
		<dc:creator>Valde</dc:creator>
				<category><![CDATA[Sin categorí­a]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://www.petralinkfactory.com/blog/?p=10</guid>
		<description><![CDATA[En la actualidad me encuentro realizando una aplicaciÃ³n en PHP donde necesitamos sacar unos ficheros en php. En principio hay que decir que hay muchos componentes y librerÃ­as para hacer los PDFs en PHP, pero aquÃ­ solo me voy a &#8230; <a href="http://www.petralinkfactory.com/2008/09/08/pdf-en-php/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En la actualidad me encuentro realizando una aplicaciÃ³n en PHP donde necesitamos sacar unos ficheros en php.</p>
<p>En principio hay que decir que hay muchos componentes y librerÃ­as para hacer los PDFs en PHP, pero aquÃ­ solo me voy a centrar en hablar de las soluciones que he encontrado libres y darÃ© <em>mi opiniÃ³n</em> sobre el tema.</p>
<p>Antes de nada piensa quÃ© es lo que tienes que sacar en PDF, puesto que dependiendo de la forma que generas el PDF serÃ¡ mÃ¡s sencillo o mÃ¡s difÃ­cil de mantener la aplicaciÃ³n.</p>
<h3>RTF (Ritch Text Format)</h3>
<p>Lo ideal es utilizar ficheros RTF como plantilla, se pueden hacer desde un fichero de Microsoft Word o desde el Writer del OpenOffice.</p>
<p>La ventaja de esta tÃ©cnica de generar PDFs es que las plantillas RTFs son muy fÃ¡ciles de mantener, sÃ³lo hay que poner unos tags dentro del fichero, y como los RTFs son ficheros de texto, se pueden abrir desde PHP, guardarlos en una variable y cambiar lo que se quiera, para luego guardarlo en otro fichero RTF.</p>
<p>El problema de esta tÃ©cnica es que en PHP no hay componentes o clases que te permitan hacerlo desde el Apache, sin instalar software adicional, con lo que en los hosting compartidos esta opciÃ³n es inviable, o al menos yo no lo he encontrado (he buscado componentes de pago, pero los que encontrÃ© eran realmente caros y ya no me compensaban). La opciÃ³n econÃ³mica para hacer este caso es tener un hosting privado e instalar la OpenOffice y creo que unos paquetes especiales de la OpenOffice, para asÃ­ poder utilizar el Writer en modo consola y transformar el fichero RTF a PDF.</p>
<h3>FPDF [1]</h3>
<p>La FPDF (FreePDF) es una implementaciÃ³n gratuita de la PDFLib (que es de pago), aunque la PDFLib hoy en dÃ­a trae aÃ±adidos de seguridad del fichero PDF generado, como imposibilidad de copiar, de imprimir, cifrado, &#8230;</p>
<p>Esta es la librerÃ­a PHP principal que vamos a ver, puesto que las demÃ¡s que vamos a ver son librerÃ­as que heredan de ella, en algunos casos modifican un poco el cÃ³digo para optimizar o facilitar el uso de la extensiÃ³n de la librerÃ­a.</p>
<p>De todas las que he encontrado es la que mejor estÃ¡ documentada, aunque en todas las librerÃ­as se pueden encontrar un directorio con ejemplos.</p>
<p>En esta librerÃ­a para generar un PDF tenemos que programar el contenido del PDF.</p>
<p>Una de las ventajas de esta librerÃ­a es que como es de las mÃ¡s usadas, tiene una pagÃ­na donde podemos ver ejemplos de scripts para hacer funcionalidades que no estÃ¡n dentro de la librerÃ­a, la secciÃ³n Scripts de la web [2].</p>
<p>Por Ãºltimo, decir que aquellos que seais unos multiprogramadores como yo, hay una implementaciÃ³n de la libreria para ASP 3.0 [3]. Yo no la he probado, si alguien lo prueba por favor que me comente algo.</p>
<h3>HTML2PDF [4]</h3>
<p>Esta librerÃ­a es una extensiÃ³n de la FPDF, que nos permite poner como contenido del PDF un documento XHTML. Por desgracia la poca documentaciÃ³n que hay estÃ¡ en un foro en FrancÃ©s y todavÃ­a esta en desarrollo, puesto que hay muchos estilos de CSS que no los reconoce.</p>
<p>Es una buena alternativa a los RTFs cuando se quiere hacer una plantilla que va a ser modificada cada cierto tiempo, puesto que modificar un XHTML es muy sencillos con programas como el Adobe DreamWeaver o Microsoft Expresions, o incluso la Microsoft Office o la OpenOffice, aunque para estas dos Ãºltimas opciones necesitaremos retocar el cÃ³digo para adaptarlo al cÃ³digo que interpreta la clase.</p>
<p>Tiene pocos ejemplos, pero la verdad es que son suficientes para enseÃ±ar las cosas que hace esta librerÃ­a PHP.</p>
<h3>TCPDF [5]</h3>
<p>Sin dudas una de las mejores extensiones a la librerÃ­a FPDF. En su web encontramos una amplia documentaciÃ³n, ademÃ¡s es la librerÃ­a que tiene mÃ¡s ejemplos, un total de 36 ejemplos en el ZIP que nos descargamos desde la web. AdemÃ¡s de las cosas tÃ­picas que nos permiten todas las librerÃ­a que he encontrado (insertar cÃ³digo html, cabeceras, pies, &#8230;) nos permite crear CÃ³digos de barras para insertarlos en los documentos PDFs que vamos a mostrar. En algunas ocaciones esto es muy Ãºtil.</p>
<p>Una cosa que he visto que no he encontrado en otras librerÃ­as de PHP es que tiene soporte para incrustar JavaScript para la comprobaciÃ³n de datos de los formularios para los PDFs generados.</p>
<p>Por Ãºltimo decir que esta librerÃ­a soporta texto Unicode UTF8, con lo que nos permite realizar documentos PDFs en caracteres no indoeuropeos, como el Ã¡rabe, ruso o chino.</p>
<h3>mPDF [6]</h3>
<p>Esta librerÃ­a al igual que la anterior tambiÃ©n estÃ¡ muyÂ  bien documentada y en inglÃ©s. Esta librerÃ­a es una extensiÃ³n de la FPDF que soporta texto Unicode UFT-8, y estÃ¡ especializada en este aspecto. A primera vista, no la he probado todavÃ­a, es muy similar a la librerÃ­a anterior (TCPDF). Una de las cosas que mÃ¡s me han sorprendido es que esta librerÃ­a es la que mÃ¡s fuentes trae por defecto, de echo el fichero zip de todas las demÃ¡s librerÃ­as apenas llega a los 1Mb, esta librerÃ­a tienen un zip de 11Mb. Esta cantidad de Mb se deben a las fuentes y a los ejemplos, queÂ  tambiÃ©n tiene un motÃ³n de ejemplos.</p>
<h3>ConclusiÃ³n</h3>
<p>Hemos visto en este artÃ­culo una librerÃ­a y cuatro extensiones de Ã©sta. Cada una tiene sus ventajas y sus inconvenientes. En la medida de lo posible voy a intentar investigar un poco mÃ¡s de cada librerÃ­a e intentarÃ© hacer un artÃ­culo mÃ¡s en profundidad y cÃ³digo de las distintas librerias que hemos visto anteriormente. En la actualidad yo he utilizado la HTML2PDF, puesto que es la mÃ¡s sencilla desde mi punto de vista para trabajar con HTML, para el poco tiempo que he tenido para estudiar el funcionamiento de las librerÃ­as, si en vez de 2 dÃ­as hubiese tienido 2 Ã³ 3 semanas hubiera podido ver todas las posibilidades con mÃ¡s detenimiento, y a lo mejor hubirera podido seleccionar otra librerÃ­a, pero nunca se sabe, la verdad es que lo fÃ¡cil que es trabajar con la HTML2PDF es asombroso, pero tiene muy pocas fuentes de texto, o al menos las que vienen por defecto, repito que he tenido muy poco tiempo para investigar mÃ¡s.</p>
<h4>Enlaces:</h4>
<p>[1] FPDF: <a title="FPDF" href="http://www.fpdf.org" target="_blank">http://www.fpdf.org</a></p>
<p>[2] PÃ¡gina de Scripts de FPDF: <a title="SecciÃ³n de Scripts de FPDF" href="http://www.fpdf.org/es/script/index.php" target="_blank">http://www.fpdf.org/es/script/index.php</a></p>
<p>[3] ASP FPDF: <a title="ASP FPDF" href="http://www.aspxnet.it/public/default.asp" target="_blank">http://www.aspxnet.it/public/default.asp</a></p>
<p>[4] HTML2PDF: <a title="HTML2PDF" href="http://html2pdf.spipu.net/" target="_blank">http://html2pdf.spipu.net/</a></p>
<p>[5] TCPDF: <a title="TCPDF" href="http://www.tcpdf.org/" target="_blank">http://www.tcpdf.org/</a></p>
<p>[6] mPDF: <a title="mPDF" href="http://mpdf.bpm1.com/" target="_blank">http://mpdf.bpm1.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.petralinkfactory.com/2008/09/08/pdf-en-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

