<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>SylarPoOoX</title>
	<atom:link href="http://sylarpooox.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://sylarpooox.wordpress.com</link>
	<description>Articulos, tecnologia, programacion, diseño...</description>
	<lastBuildDate>Fri, 01 Jul 2011 08:55:09 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='sylarpooox.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>SylarPoOoX</title>
		<link>http://sylarpooox.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://sylarpooox.wordpress.com/osd.xml" title="SylarPoOoX" />
	<atom:link rel='hub' href='http://sylarpooox.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Estructurar formulario con css y sin tabla</title>
		<link>http://sylarpooox.wordpress.com/2009/07/05/estructurar-formulario-con-css-y-sin-tabla/</link>
		<comments>http://sylarpooox.wordpress.com/2009/07/05/estructurar-formulario-con-css-y-sin-tabla/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 12:36:02 +0000</pubDate>
		<dc:creator>PoOoX</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[formulario css]]></category>
		<category><![CDATA[formulario sin tabla]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://sylarpooox.wordpress.com/?p=41</guid>
		<description><![CDATA[Crear un formulario alineado sin tabla.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sylarpooox.wordpress.com&amp;blog=2062231&amp;post=41&amp;subd=sylarpooox&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Cuando hacemos un formulario lo ideal es que el resultado final siempre sea un formulario estructurado, una columna para las etiquetas, otra columna para las cajas de texto, para que así un nombre largo no te deje un formulario con cajas escalonadas y quede mas bonito.</p>
<p>El problema es que usamos tablas para crear dicha estructura, y a veces trabajar con tablas siginfica perder el control sobre los elementos, trabajar con una estructura fija siempre es engorroso y a veces queremos deslimitar ese obstaculo.</p>
<p>Por lo tanto, hoy me puesto a trabajar en un sistema para poder crear un formulario sin la necesidad de tabla, y que quede igual de estructurado. Y aquí os lo dejo para que podais probarlo si os convence el resultado.</p>
<p><strong>HTML</strong></p>
<blockquote><p>&lt;form name=&#8221;login&#8221; method=&#8221;post&#8221; action=&#8221;./Sesion/login.php&#8221; id=&#8221;formulario&#8221;&gt;</p>
<p style="padding-left:30px;">&lt;p&gt;</p>
<p style="padding-left:60px;">&lt;label for=&#8221;usuario&#8221;&gt;Usuario&lt;/label&gt;<br />
&lt;input type=&#8221;text&#8221; name=&#8221;usuario&#8221; id=&#8221;usuario&#8221; value=&#8221;" /&gt;</p>
<p style="padding-left:30px;">&lt;/p&gt;<br />
&lt;p&gt;</p>
<p style="padding-left:60px;">&lt;label for=&#8221;contrasena&#8221;&gt;Contraseña&lt;/label&gt;<br />
&lt;input type=&#8221;password&#8221; name=&#8221;contrasena&#8221; id=&#8221;contrasena&#8221; value=&#8221;" /&gt;</p>
<p style="padding-left:30px;">&lt;/p&gt;<br />
&lt;p&gt;</p>
<p style="padding-left:60px;">&lt;input type=&#8221;submit&#8221; id=&#8221;boton&#8221; value=&#8221;" /&gt;</p>
<p style="padding-left:30px;">&lt;/p&gt;</p>
<p>&lt;/form&gt;</p></blockquote>
<p><strong>CSS</strong></p>
<blockquote><p>/************************************<br />
* Estilos formulario<br />
************************************/<br />
.formulario{</p>
<p style="padding-left:30px;">font-size:.8em;</p>
<p>}</p>
<p>.formulario p label.etiqueta{</p>
<p style="padding-left:30px;">width:100px;<br />
font-weight:bold;<br />
float:left;<br />
border:0px;</p>
<p>}</p>
<p>.formulario p input.caja{</p>
<p style="padding-left:30px;">width:140px;<br />
font-size:.9em;<br />
border:1px solid;<br />
padding:1px 5px;</p>
<p>}</p>
<p>.formulario p input.boton{</p>
<p style="padding-left:30px;">margin-left:208px;<br />
border:0px;</p>
<p>}</p></blockquote>
<p><strong><br />
Apuntes</strong></p>
<p>Con esto ya tienes tu formulario sin tabla, todo con estilos css y una estructura xHtml y css perfectamente válida de cara a los estandares del web<strong> </strong>y funcionando en todos los navegadores.<strong><br />
</strong></p>
<p>El codigo que he pegado aquí te situa las etiquetas una debajo de otra empezando en el mismo left, te situa las cajas de texto una debajo de otra, al lado de las etiquetas, pero alineadas entre ellas. El equivalente a una tabla con 2 filas (tr) con 2 columnas (td) cada una, y una fila con colspan a 2.</p>
<p>Ahora imaginad que pensais que este formulario no lo quereis en vertical sino en horizontal. El equivalente a crear una tabla con 1 fila y 5 columnas, con el código traspasado a Css como os he mostrado yo, es tan fácil como colocar un &#8216;float:left;&#8217; a la clase de las cajas.</p>
<p>El único inconveniente que tiene este sistema es que tienes que poner la medida del label de la etiqueta mas larga, es decir, si tienes una etiqueta que sobresale por encima de las otras, el escalado de las cajas no es automatico, sino que tendrias que especificar el width de los labels para adecuarlos a la nueva situación.</p>
<p>De todos modos te ahorras la tabla, te ahorras mucho tiempo en modificaciones de estilo y centralizas los estilos de labels, botones, formulario y cajas.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sylarpooox.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sylarpooox.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sylarpooox.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sylarpooox.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sylarpooox.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sylarpooox.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sylarpooox.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sylarpooox.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sylarpooox.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sylarpooox.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sylarpooox.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sylarpooox.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sylarpooox.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sylarpooox.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sylarpooox.wordpress.com&amp;blog=2062231&amp;post=41&amp;subd=sylarpooox&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sylarpooox.wordpress.com/2009/07/05/estructurar-formulario-con-css-y-sin-tabla/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f4114690a3af48bd7afe318fb13fe580?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">PoOoX</media:title>
		</media:content>
	</item>
		<item>
		<title>Generar códigos de barras con PHP y PEAR:Image_Barcode</title>
		<link>http://sylarpooox.wordpress.com/2009/07/03/generar-codigos-de-barras-con-php-y-pearimage_barcode/</link>
		<comments>http://sylarpooox.wordpress.com/2009/07/03/generar-codigos-de-barras-con-php-y-pearimage_barcode/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 18:35:36 +0000</pubDate>
		<dc:creator>PoOoX</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[codigos barra]]></category>
		<category><![CDATA[image barcode]]></category>
		<category><![CDATA[pear]]></category>

		<guid isPermaLink="false">http://sylarpooox.wordpress.com/2009/07/03/generar-codigos-de-barras-con-php-y-pearimage_barcode/</guid>
		<description><![CDATA[generar codigos de barra con php y pear<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sylarpooox.wordpress.com&amp;blog=2062231&amp;post=40&amp;subd=sylarpooox&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ante la necesidad de generar códigos de barras mediante PHP, he encontrado el paquete de <a title="PEAR Image_barcode. Código de barras con PHP" href="http://pear.php.net/package/Image_Barcode" target="_blank">PEAR Image_Barcode.</a></p>
<p>La instalación no puede ser más sencilla en Ubuntu 8.04. Image_Barcode se encuentra en los repositorios en forma de módulo de PHP (php-image-barcode). Ha instalado Pear y Gd como dependencias y ya está.</p>
<p>Con un:</p>
<blockquote><p>sudo apt-get install php-image-barcode</p></blockquote>
<p>Ya tenemos instalado todo lo necesario</p>
<p>En caso de no tener hasta ahora Gd, se hace necesario reiniciar apache:</p>
<blockquote><p>sudo /etc/init.d/apache2 restart</p></blockquote>
<p>Bien, ahora ya podemos ejecutar el ejemplo que nos dan en la documentación:<br />
[PHP]<br />
require_once &#8216;Image/Barcode.php&#8217;;<br />
Image_Barcode::draw(&#8217;1234&#8242;, &#8216;int25&#8242;, &#8216;png&#8217;);</p>
<p>[/PHP]<br />
Nos generará la siguiente imagen:   <img class="size-full wp-image-140 alignnone" title="barcode" src="http://blog.controlzeta.net/wp-content/uploads/2008/09/barcode.png" alt="" width="59" height="50" /></p>
<p>En nuestro caso necesitamos generar códigos con letras y descripciones, por esta razón utilizamos el tipo de código &#8220;code128&#8243;, quedando el ejemplo de la siguiente manera:</p>
<p>[PHP]<br />
require_once &#8216;Image/Barcode.php&#8217;;<br />
Image_Barcode::draw(&#8216;ControlZeta&#8217;, &#8216;code128&#8242;, &#8216;png&#8217;);</p>
<p>[/PHP]<br />
Se nos genera esta otra imagen:</p>
<p><a href="http://blog.controlzeta.net/wp-content/uploads/2008/09/controlzeta-barcode.png"><img class="size-medium wp-image-142 alignnone" title="Código de barras alfanumérico con Control Zeta" src="http://blog.controlzeta.net/wp-content/uploads/2008/09/controlzeta-barcode.png" alt="Código de barras alfanumérico con Control Zeta" width="176" height="80" /></a></p>
<p>Hasta aquí todo perfecto, pero&#8230; Estos códigos son demasiado altos para el uso que se les va a dar, así que necesitamos disminuir el alto del código. Una opción seria modificar directamente la altura de la imagen, pero esto &#8220;achataría&#8221; el texto inferior. No nos interesa.</p>
<p>Evidentemente hemos ido a la documentación oficial: <a title="Documentación image-barcode PEAR" href="http://pear.php.net/package/Image_Barcode/docs" target="_blank">http://pear.php.net/package/Image_Barcode/docs</a></p>
<p>Tras no ser capaz de encontrar ningún método para modificar la altura de códigos de barras code128 (cualquier ayuda será bienvenida) he ido directamente a la clase para ver como podía modificar esta altura. Mi sorpresa ha sido no encontrar ningún método que hiciera lo que necesitaba, pero en cambio, me encontrado con esta simple porción de código nada más empezar a leer:</p>
<p>[PHP]</p>
<p>class Image_Barcode_code128 extends Image_Barcode<br />
{<br />
var $_type = &#8216;code128&#8242;;<br />
var $_barcodeheight = 60;<br />
var $_font = 2;<br />
var $_barwidth = 1;<br />
var $code;</p>
<p>&#8230;</p>
<p>[/PHP]</p>
<p>Evidentemente, he cambiado el valor $_barcodeheight y todo ha funcionado a la perfección, pero estoy seguro que hay algún motivo para que este valor sea fijo. ¿Alguien tiene alguna explicación al respecto?</p>
<p>Por cierto, el resultado final es este: <a href="http://blog.controlzeta.net/wp-content/uploads/2008/09/cb_controlz_20_alto.png"><img class="alignnone size-medium wp-image-143" title="Código de Barras alfanumérico de 20 px de alto" src="http://blog.controlzeta.net/wp-content/uploads/2008/09/cb_controlz_20_alto.png" alt="" width="176" height="40" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sylarpooox.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sylarpooox.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sylarpooox.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sylarpooox.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sylarpooox.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sylarpooox.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sylarpooox.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sylarpooox.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sylarpooox.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sylarpooox.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sylarpooox.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sylarpooox.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sylarpooox.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sylarpooox.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sylarpooox.wordpress.com&amp;blog=2062231&amp;post=40&amp;subd=sylarpooox&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sylarpooox.wordpress.com/2009/07/03/generar-codigos-de-barras-con-php-y-pearimage_barcode/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f4114690a3af48bd7afe318fb13fe580?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">PoOoX</media:title>
		</media:content>

		<media:content url="http://blog.controlzeta.net/wp-content/uploads/2008/09/barcode.png" medium="image">
			<media:title type="html">barcode</media:title>
		</media:content>

		<media:content url="http://blog.controlzeta.net/wp-content/uploads/2008/09/controlzeta-barcode.png" medium="image">
			<media:title type="html">Código de barras alfanumérico con Control Zeta</media:title>
		</media:content>

		<media:content url="http://blog.controlzeta.net/wp-content/uploads/2008/09/cb_controlz_20_alto.png" medium="image">
			<media:title type="html">Código de Barras alfanumérico de 20 px de alto</media:title>
		</media:content>
	</item>
		<item>
		<title>Ejemplos de impresión en impresora de tickets y PHP-GTK 2</title>
		<link>http://sylarpooox.wordpress.com/2009/07/03/ejemplos-de-impresion-en-impresora-de-tickets-y-php-gtk-2/</link>
		<comments>http://sylarpooox.wordpress.com/2009/07/03/ejemplos-de-impresion-en-impresora-de-tickets-y-php-gtk-2/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 18:34:10 +0000</pubDate>
		<dc:creator>PoOoX</dc:creator>
				<category><![CDATA[PHP-GTK]]></category>

		<guid isPermaLink="false">http://sylarpooox.wordpress.com/?p=38</guid>
		<description><![CDATA[ejemplos para imprimir a una impresora de tickets desde php-gtk<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sylarpooox.wordpress.com&amp;blog=2062231&amp;post=38&amp;subd=sylarpooox&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Siguiendo con el trabajo utilizando PHP-GTK, y después de explicar como imprimir con impresora de tickets, ahora toca aprender algo de comandos hacia la impresora Epson TM-U200, aunque supongo que los comandos funcionarán, si no en todas las epson, en la gama TM.</p>
<p>Vamos a crear un &#8216;buffer&#8217; de contenido a partir de un fichero PRN.</p>
<blockquote><p>$handle = fopen(&#8220;PRN&#8221;, &#8220;w&#8221;); // note 1</p></blockquote>
<p>A partir de ahora escribiremos sobre $handler nuestro ticket, para a posteriori imprimir ese fichero.</p>
<p>Comandos útiles:</p>
<blockquote><p>fwrite($handle,chr(27). chr(64));  //-&gt;Reinicializa la impresion, esto hay que hacerlo siempre al inicio.</p></blockquote>
<blockquote><p><strong>Alineación:</strong><br />
fwrite($handle, chr(27). chr(97). chr(0)); //-&gt;Izquierda<br />
fwrite($handle, chr(27). chr(97). chr(1)); //-&gt;Centro<br />
fwrite($handle, chr(27). chr(97). chr(2)); //-&gt;Derecha</p></blockquote>
<p>Este comando es bastante importante, ya que por ejemplo, en las alineaciones de múltiples palabras en una misma linea, por ejemplo para hacer una columna en centro y otra en derecha, si no hay un limpiado de buffer no funciona.</p>
<blockquote><p>fwrite($handle, chr(27). chr(100). chr(N)); //-&gt; Limpia el buffer, y salta N lineas, poner numero de saltos en la &#8216;N&#8217;, admite un 0.</p></blockquote>
<p>chr(238) -&gt; es la numeración para escribir un símbolo parecido al Euro. (fwrite($handle, chr(238)))</p>
<p>Para cerrar el &#8216;PRN&#8217; y imprimirlo, como explicamos en anteriores entradas:</p>
<blockquote><p>fclose($handle); // cierra el fichero PRN<br />
$salida = shell_exec(&#8216;lpr PRN&#8217;); //lpr-&gt;puerto impresora, imprimir archivo PRN</p></blockquote>
<p>Básicamente con la combinación de estos comandos y sabiendo que &#8220;fwrite($handle, &#8216;Hola&#8217;);&#8221; es válido para escribir una frase en el ticket,creo que ya no tendréis problemas con ello.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sylarpooox.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sylarpooox.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sylarpooox.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sylarpooox.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sylarpooox.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sylarpooox.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sylarpooox.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sylarpooox.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sylarpooox.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sylarpooox.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sylarpooox.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sylarpooox.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sylarpooox.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sylarpooox.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sylarpooox.wordpress.com&amp;blog=2062231&amp;post=38&amp;subd=sylarpooox&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sylarpooox.wordpress.com/2009/07/03/ejemplos-de-impresion-en-impresora-de-tickets-y-php-gtk-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f4114690a3af48bd7afe318fb13fe580?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">PoOoX</media:title>
		</media:content>
	</item>
		<item>
		<title>Imprimir por impresora desde PHP-GTK</title>
		<link>http://sylarpooox.wordpress.com/2009/07/03/imprimir-por-impresora-desde-php-gtk/</link>
		<comments>http://sylarpooox.wordpress.com/2009/07/03/imprimir-por-impresora-desde-php-gtk/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 18:33:18 +0000</pubDate>
		<dc:creator>PoOoX</dc:creator>
				<category><![CDATA[PHP-GTK]]></category>
		<category><![CDATA[glade]]></category>
		<category><![CDATA[imprimir]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://sylarpooox.wordpress.com/?p=36</guid>
		<description><![CDATA[Como imprimir desde php-gtk en una impresora<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sylarpooox.wordpress.com&amp;blog=2062231&amp;post=36&amp;subd=sylarpooox&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>En esta ocasión vamos a ver como imprimir algo desde un programa en <a href="http://gtk.php.net/" target="_blank">PHP-GTK</a> con nuestra impresora, usaremos además el terminal de Linux.</p>
<p>En nuestro caso necesitamos imprimir datos para generar &#8216;tickets&#8217;, con lo que la copia debe tener algo de estilo. Esto nos traerá algún problema, puesto que no es imprimir sólo texto. Además, es previsible que estos tickets sean consultados vía web remotamente.</p>
<p>Para empezar hay que comentar que en Linux no tiene la libreria printer_php.dll, con lo que hay que imprimir desde terminal, al hacerlo nos damos cuenta que la solución es multiplataforma, así que en Windows debería funcionar bien lo que vamos a explicar.<br />
Para desarrollar la idea hemos creado un programa con el Glade 2, que tiene una caja de texto(textview) y un botón, al botón le asignamos un evento al ser clickado, que llamara a la función &#8216;Conecta&#8217; y le advertimos que coja como fuente de datos el textView.</p>
<p>Ahora generamos el blade y vamos al archivo PHP.<br />
Vamos a hacer un ejemplo simple ya que para generar los pdf podeis visitar su <a href="http://www.fpdf.org" target="_blank">web oficial</a>.</p>
<blockquote><p>function conecta($textView){<br />
$textBuffer = new GtkTextBuffer();<br />
$salida = shell_exec(&#8216;ls -l /home&#8217;); //en caso de windows shell_exec(&#8216;dir c:&#8217;);, por ejemplo<br />
$textBuffer-&gt;set_text($salida);<br />
$textView-&gt;set_buffer($textBuffer);</p>
<p>}</p></blockquote>
<p>Con este pequeño ejemplo, al pulsar el boton el terminal ejecutara un listado de directorios del sistema, y colocara la salida en la caja de texto.</p>
<p>Como véis, el comando a utilizar en <a href="http://www.php.net" target="_blank">php</a> es <a href="http://es2.php.net/shell_exec" target="_blank">shell_exec</a>, que envia al modo consola del servidor (tu maquina si estas en local, que es nuestro caso), una orden y la devuelve a la variable $salida.</p>
<p>Para imprimir en modo consola tanto en linux como en Windows con la impresora el comando es &#8216;lpr NOMBRE_ARCHIVO&#8217;, con eso le envias el archivo especificado a la cola de impresión de la impresora.</p>
<blockquote><p>function conecta($textView){</p>
<p>$salida=shell_exec(&#8216;ls -l /home&#8217;);<br />
$textBuffer = new GtkTextBuffer();<br />
$pdf=new FPDF(&#8216;P&#8217;,'cm&#8217;);<br />
//aquí iria toda la generación del PDF con FPDF, poniendo el contenido de $salida como texto de     pagina<br />
$pdf-&gt;Output(&#8216;prueba.pdf&#8217;); //genera el archivo prueba.pdf<br />
$textBuffer-&gt;set_text($salida);<br />
$textView-&gt;set_buffer($textBuffer);<br />
shell_exec(&#8216;pdf2ps Calefaccio.pdf prova.ps&#8217;); //convertir de PDF a PS<br />
shell_exec(&#8216;lpr prova.ps&#8217;);</p>
<p>}</p></blockquote>
<p>¿Qué hace exactamente este nuevo código?</p>
<p>Primero de todo coje como $salida la respuesta al listado de directorio, genera un PDF con el texto que deseemos, puede ser por ejemplo la $salida que por eso la hemos hecho en este caso, al generar el PDF crea el archivo en el mismo directorio.</p>
<blockquote><p>shell_exec(&#8216;pdf2ps Calefaccio.pdf prova.ps&#8217;); //convertir de PDF a PS<br />
shell_exec(&#8216;lpr prova.ps&#8217;);</p></blockquote>
<p>Esta es la parte interesante del asunto, si provais de imprimir directamente el archivo PDF desde el modo consola tendreis problemas y vereis como salen impresas unas cosas muy raras, ya que la consola de windows o el terminal de linux no sabe imprimir PDF, lo que hay que hacer es convertir de PDF a PS el archivo, en este caso en modo consola de linux con la funcion pdf2ps, y darle a imprimir ese mismo archivo PS.</p>
<p>Haciendo pruebas ha procesado la creación y conversión de 72 paginas en unos 2 segundos aproximadamente, osea que realmente no va mal <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>En windows previamente habria que crear un puerto tcp/ip para la impresora, ya que la funcion &#8216;lpr&#8217; es imprimir remotamente, &#8216;lp&#8217; es impresión normal.</p>
<p>Aunque tambien puede usarse <a href="http://es.php.net/printer" target="_blank">printer</a> en php si se funciona sobre Windows y quiere imprimir.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sylarpooox.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sylarpooox.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sylarpooox.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sylarpooox.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sylarpooox.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sylarpooox.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sylarpooox.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sylarpooox.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sylarpooox.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sylarpooox.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sylarpooox.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sylarpooox.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sylarpooox.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sylarpooox.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sylarpooox.wordpress.com&amp;blog=2062231&amp;post=36&amp;subd=sylarpooox&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sylarpooox.wordpress.com/2009/07/03/imprimir-por-impresora-desde-php-gtk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f4114690a3af48bd7afe318fb13fe580?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">PoOoX</media:title>
		</media:content>
	</item>
		<item>
		<title>Abrir multibox automaticamente al cargar pagina</title>
		<link>http://sylarpooox.wordpress.com/2009/07/03/abrir-multibox-automaticamente-al-cargar-pagina/</link>
		<comments>http://sylarpooox.wordpress.com/2009/07/03/abrir-multibox-automaticamente-al-cargar-pagina/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 18:28:26 +0000</pubDate>
		<dc:creator>PoOoX</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[abrir automaticamente]]></category>
		<category><![CDATA[multibox]]></category>
		<category><![CDATA[onload]]></category>

		<guid isPermaLink="false">http://sylarpooox.wordpress.com/?p=33</guid>
		<description><![CDATA[Para abrir automaticamente el efecto multibox en body onload<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sylarpooox.wordpress.com&amp;blog=2062231&amp;post=33&amp;subd=sylarpooox&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Puede ser un caso poco común, pero hoy necesitabamos que MultiBox se lanzara automaticamente al hacer la carga de la página. Después de intentar simular un click sin éxito para este caso, la solución que he encontrado es más fácil de lo esperado.</p>
<p><a title="PhatFusion" href="http://www.phatfusion.net/">PhatFusion</a> ya había pensado en nosotros, y a la hora de inicializar el multibox en la página hay que agregar una nueva linea que tenga el evento open:</p>
<blockquote><p>var box = {};<br />
window.addEvent(&#8216;domready&#8217;, function(){<br />
box = new MultiBox(&#8216;mb&#8217;, {descClassName: &#8216;multiBoxDesc&#8217;});<br />
<span style="color:#ff0000;">box.open($(&#8216;mb1&#8242;));</span><br />
});</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sylarpooox.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sylarpooox.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sylarpooox.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sylarpooox.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sylarpooox.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sylarpooox.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sylarpooox.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sylarpooox.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sylarpooox.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sylarpooox.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sylarpooox.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sylarpooox.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sylarpooox.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sylarpooox.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sylarpooox.wordpress.com&amp;blog=2062231&amp;post=33&amp;subd=sylarpooox&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sylarpooox.wordpress.com/2009/07/03/abrir-multibox-automaticamente-al-cargar-pagina/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f4114690a3af48bd7afe318fb13fe580?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">PoOoX</media:title>
		</media:content>
	</item>
	</channel>
</rss>
