<?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>Cultura Digital#Blog &#187; sane</title>
	<atom:link href="http://blog.culturadigital.org/etiqueta/sane/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.culturadigital.org</link>
	<description>Tener algo que decir; y decirlo.</description>
	<lastBuildDate>Mon, 26 Apr 2010 15:43:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Escanea imágenes con scanimage desde consola#Linux</title>
		<link>http://blog.culturadigital.org/tecnologia/software/escanea-imagenes-con-scanimage-desde-consolalinux</link>
		<comments>http://blog.culturadigital.org/tecnologia/software/escanea-imagenes-con-scanimage-desde-consolalinux#comments</comments>
		<pubDate>Sat, 12 Jan 2008 11:29:41 +0000</pubDate>
		<dc:creator>J.A.Cobo</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[escáner]]></category>
		<category><![CDATA[sane]]></category>
		<category><![CDATA[scanimage]]></category>
		<category><![CDATA[shell-script]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://blog.culturadigital.org/geek/escanea-imagenes-con-scanimage-desde-consolalinux</guid>
		<description><![CDATA[Desde que empecé a usar Linux y en concreto Ubuntu no había tenido demasiada necesidad de usar la impresora pero tampoco quería complicarme la vida con compilaciones de drivers que seguro tenía que hacer.
Luego desde Feisty comprobé que la impresora funcionaba bien aunque no el escáner&#8230; pero como decía no me hacía falta.
Así llegó Gutsy [...]]]></description>
			<content:encoded><![CDATA[<p>Desde que empecé a usar Linux y en concreto Ubuntu no había tenido demasiada necesidad de usar la impresora pero tampoco quería complicarme la vida con compilaciones de drivers que seguro tenía que hacer.</p>
<p>Luego desde Feisty comprobé que la impresora funcionaba bien aunque no el escáner&#8230; pero como decía no me hacía falta.<br />
Así llegó Gutsy y hace poco, en concreto ayer, necesitaba usar el escáner ya que los cartuchos de tinta de mi Epson CX5400 están secos. Es lo que pasa con algunas impresoras: mucha gente las tira si no le funcionan pero la gran mayoría de impresoras domésticas son multifunción y estás tirando: una impresora, un escáner y un lector de tarjetas como poco.</p>
<p>Aún teniendo en cuenta que comprando los cartuchos (algo difíciles de conseguir, al menos en Jaén) puedo volver a tener impresora, el escáner era casi de vital importancia para mí casi más que ésta misma. Así que decidí probarlo en Ubuntu con el programa Xsane.</p>
<p>Cuando volvía de Windows con la impresora cargada desde allí, Xsane imprimió correctamente dos imágenes y ya no quiso trabajar más, no encontraba el escáner.<br />
Encontré mil mensajes sobre lo mismo: copiar el binario a descargar o del mismo CD de drivers de la impresora para decirle a XSane donde encontrarlo. El hecho es que Xsane no me iba pero el comando scanimage funcionaba a la perfección: reconocía la impresora, el escáner e imprimía&#8230; pero&#8230; cómo hacerlo desde consola????</p>
<p>Teniendo en cuenta que soy bastante Geek, sabía que imprimir, no a la salida estándar claro ^^, desde terminales es algo que se hace desde prácticamente que apareció internet. Es casi inherente a ella.<br />
Leí la ayuda de scanimage e inicié mi búsqueda para ver como podría imprimir directamente desde consola (terminal), algo que me llamaba la atención sobremanera y que deseaba hacer enseguida. Trabajar desde consola me encanta evitando las posibles complicaciones y consumo de recursos de aplicaciones gráficas y asistentes.</p>
<p>Así, si Xsane no quería currar, scanimage lo haría directamente.<br />
Lo primero, al ver la ayuda flipé: se podía hacer de todo!! :D así que busqué ejemplos y además, encontré algo que ya estaba pensando, <a href="http://scriptsintheshell.blogspot.com/2007/06/script-para-escanear-libros-sin.html" title="scriptsintheshell.blogspot.com">un script de consola para automatizar el proceso</a>: ole y ole.</p>
<p>Así que sin más, miré lo fácil que era y me hice el mío propio ya con la cabeza no en ese script sino en como automatizarlo y personalizarlo aún más.<br />
Me encanta Linux, me encanta trabajar con el terminal y me encanta que funcione tan bien :D</p>
<p>Script para imprimir desde consola o terminal en Linux (nota, escribe el dispositivo (-d) que aparezca en tu scanimage -L):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
</pre></td><td class="code"><pre class="bash" style="font-family:Consolas, Monaco, 'Lucida Sans Typewriter', 'Lucida Console', 'Andale Mono', monospace;"><span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Nombre del proyecto a escanear: &quot;</span> NOMBRE
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Modo de escaneo (Gray | Color): &quot;</span> MODO
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Valor de X: &quot;</span> X
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Valor de X: &quot;</span> Y
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Resolucion: &quot;</span> RESOLUCION
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Tiempo entre escaneo (segundos): &quot;</span> SEGUNDOS
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$NOMBRE</span>
&nbsp;
<span style="color: #007800;">CONTADOR</span>=<span style="color: #000000;">0</span>
<span style="color: #007800;">N</span>=<span style="color: #000000;">1</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">test</span> <span style="color: #007800;">$N</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #000000;">0</span>
<span style="color: #000000; font-weight: bold;">do</span>
&nbsp;
scanimage <span style="color: #660033;">-d</span> epson:libusb:001:008 <span style="color: #660033;">--mode</span> <span style="color: #007800;">$MODO</span> <span style="color: #660033;">-x</span> <span style="color: #007800;">$X</span> <span style="color: #660033;">-y</span> <span style="color: #007800;">$Y</span> <span style="color: #660033;">--format</span>=pnm  <span style="color: #660033;">--resolution</span> <span style="color: #007800;">$RESOLUCION</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$NOMBRE</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$NOMBRE</span><span style="color: #007800;">$CONTADOR</span>.pnm
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$NOMBRE</span><span style="color: #007800;">$CONTADOR</span>
<span style="color: #007800;">CONTADOR</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">expr</span> <span style="color: #007800;">$CONTADOR</span> \+ <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #007800;">$SEGUNDOS</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;\a&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">sleep</span> 0.5s
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;\a&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">sleep</span> 0.5s
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;\a&quot;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">done</span></pre></td></tr></table></div>

<p>Podéis visitar <a href="http://scriptsintheshell.blogspot.com/2007/06/script-para-escanear-libros-sin.html">el blog donde lo leí</a> para más información pero es un script bastante sencillo que:</p>
<p>Primero pide las variables que necesita sobre:<br />
El nombre del proyecto, para crear las imágenes y un directorio para contenerlas.<br />
El modo de escanaeo, color, gris y no recuerdo el otro ahora mismo.<br />
Coordenadas de escaneo las cuales por defecto cogen toda el área de impresión de tu escáner (el estándar A4 son 210&#215;297mm), o al menos las que establece el driver que usas y tu modelo de escáner.</p>
<p>Aunque el script <strong>pide</strong> las coordenadas del área de impresión, si se omiten usará las de por defecto así que si no te importa imprimir siempre todo el área lo mismo es recomendable eliminar ese parámetro y olvidar tener que meterlo siempre.</p>
<p>Además&#8230; si scanimage -L detecta bien tu dispositivo y solo tienes uno, puedes omitir también el parámetro dispositivo (-d) aunque no cuesta meterlo en el script y te aseguras un mejor funcionamiento. El comienzo del script podría quedar así:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="bash" style="font-family:Consolas, Monaco, 'Lucida Sans Typewriter', 'Lucida Console', 'Andale Mono', monospace;"><span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Nombre del proyecto a escanear: &quot;</span> NOMBRE
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Modo de escaneo (Gray | Color): &quot;</span> MODO
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Resolucion: &quot;</span> RESOLUCION
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Tiempo entre escaneo (segundos): &quot;</span> SEGUNDOS
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$NOMBRE</span>
&nbsp;
<span style="color: #007800;">CONTADOR</span>=<span style="color: #000000;">0</span>
<span style="color: #007800;">N</span>=<span style="color: #000000;">1</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">test</span> <span style="color: #007800;">$N</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #000000;">0</span>
<span style="color: #000000; font-weight: bold;">do</span>
&nbsp;
scanimage <span style="color: #660033;">--mode</span> <span style="color: #007800;">$MODO</span> <span style="color: #660033;">-x</span> <span style="color: #000000;">210</span> <span style="color: #660033;">-y</span> <span style="color: #000000;">297</span> <span style="color: #660033;">--format</span>=pnm  <span style="color: #660033;">--resolution</span> <span style="color: #007800;">$RESOLUCION</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$NOMBRE</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$NOMBRE</span><span style="color: #007800;">$CONTADOR</span>.pnm
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></td></tr></table></div>

<p>El comando cargando las opciones por defecto (formato pnm, eh?) es tan sencillo como:<br />
<code class="noblock">scanimage &gt;image.pnm</code></p>
<p>Además he añadido otra variable para la resolución o calidad de la imagen, por defecto son 100dpi pero para escanéo de mapas, como en este caso mío, quizá prefieras usar 1200 :mrgreen:</p>
<p>Luego estableces el número de segundos que esperará el bucle para iterar de nuevo sobre el comando.<br />
Lo que haré luego será incluir otro ajuste para las iteraciones del comando, o lo que es lo mismo, el número de copias que quieres sacar&#8230; eso no se ha metido en el script pero solo es añadir una variable para el número máximo del iterador.</p>
<p>El script original escaneaba en png pero yo he preferido el formato pnm y ya modificarlo con Gimp o lo que sea a mi gusto.<br />
Y muchas cosas más!</p>
<p><em>Scanimage</em> te permite hacer todo lo que cualquier programa gráfico puede, las opciones son muchísimas y basta con le eches un ojo scanimage:<br />
<code class="noblock">scanimage --help</code><br />
Nota: Usa <code class="noblock">scanimage -L</code> para listar tus dispositivos y <code class="noblock">-T</code> para testear el programa ;)</p>
<p>Obviamente: Gracias a &#8220;Scripts in the shell&#8221;!! ;)<br />
<strong>Más información</strong> en el proyecto Sane: <a href="http://www.sane-project.org/man/scanimage.1.html">http://www.sane-project.org/man/scanimage.1.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.culturadigital.org/tecnologia/software/escanea-imagenes-con-scanimage-desde-consolalinux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
