Ir al contenido principal

¿Cómo renombrar documentos obtenidos de digitalizar a una cara documentos a doble cara?

En algunas ocasiones necesitamos digitalizar documentos que están a doble cara pero nuestro escaner no tiene la posibilidad de voltear la página para digitalizar simultáneamente las dos caras, aunque si dispone de alimentador de páginas.

Por lo que podemos digitalizar en una primera etapa las caras impares y en una segunda etapa las caras pares empezando por el final (para no tener que reordenar todas las hojas).

Mediante el siguiente script en Python podemos renombrar todos los ficheros para que estén ordenador y poder procesarlos posteriormente:


import os 
ficheroImpar="caraA" #nombre del fichero de la digitalizacion de las caras impares
inicioFicheroImpar=1 #numero por el que comienza el fichero
finFicheroImpar=157 #numero por el que termina

ficheroParInverso="caraB"
inicioFicheroParInverso=157 #los documentos estan digitalizados empezando por el final
finFicheroParInverso=1

nuevoFichero="vcongreso"
extension=".tiff" #extension de los ficheros
digitos=3 #numero de digitos para completar con ceros

for numeroImpar in range (inicioFicheroImpar, finFicheroImpar+1):
  nombreImpar=ficheroImpar+str(numeroImpar).zfill(digitos)+extension
  nuevoNombreImpar=nuevoFichero+str(numeroImpar*2-1).zfill(digitos+2)+extension
  
  numeroPar=inicioFicheroParInverso-numeroImpar+1
  nombrePar=ficheroParInverso+str(numeroPar).zfill(digitos)+extension
  nuevoNombrePar=nuevoFichero+str(numeroImpar*2).zfill(digitos+2)+extension
  
  print "Renombrar: "+nombreImpar+" "+nuevoNombreImpar
  if os.path.exists(nombreImpar):
    os.rename(nombreImpar,nuevoNombreImpar)
  else:
    print "No existe: "+nombreImpar
    
  print "Renombrar: "+nombrePar+" "+nuevoNombrePar
  if os.path.exists(nombrePar):
    os.rename(nombrePar,nuevoNombrePar)
  else:
    print "No existe: "+nombrePar
 
 
Otra situación habitual es tener todas las páginas digitalizadas pero la numeración no sea consecutiva, por lo que el script anterior no funcionará. Primero renombramos todos los ficheros de forma consecutiva mediante el siguiente programa en python:



import os

fichero="cara B" #nombre del fichero de la digitalización de las caras impares
inicioFichero=1 #numero por el que comienza el fichero
finFichero=190

extension=".tiff" #extension de los ficheros
digitos=3 #numero de digitos para completar con ceros
nuevaSecuencia=1

for numero in range (inicioFichero, finFichero+1):
  nombre=fichero+str(numero).zfill(digitos)+extension
  nuevoNombre=fichero+str(nuevaSecuencia).zfill(digitos)+extension
  if os.path.exists(nombre):
    nuevaSecuencia=nuevaSecuencia+1
    print "Renombrar: "+nombre+" "+nuevoNombre
    os.rename(nombre,nuevoNombre) 

Comentarios

Entradas populares de este blog

Instalación Django en NAS Synology con FastCGI

Los NAS Synology no traen el módulo de apache mod-wsgi por lo que he utilizado el módulo mod-fastcgi en su lugar para hacer funcionar Django en los NAS Synology. Necesitamos del módulo mysql-python , para su instalación podemos seguir la entrada que ya se publicó en este mismo blog:  http://ilizaran.blogspot.com.es/2014/09/instalacion-del-modulo-mysql-python-en.html De la instalación de mysql-python ya tendremos instalado pip en el NAS por lo que podremos instalar Django con algunos módulos necesarios: pip install Django pip install setuptools pip install flup Para saber que la instalación de Django ha sido correcta y verificar la versión podemos realizar: python import django  django.VERSION Ahora modifcamos la configuración de apache editando el fichero /etc/httpd/conf/httpd.conf-user  para hacer accesible los ficheros css, imágenes y javascript de la parte administrativa de Django, por lo que añadimos: Alias /static/admin /usr/local/packages/@appstore/Python/usr/l

Calcular en Mysql el primer y último día del mes

SELECT DATE_FORMAT(now(),'%Y-%m-01') AS first_day; SELECT date_add(date_add(LAST_DAY(now()),interval 1 DAY),interval -1 MONTH) AS first_day; SELECT LAST_DAY(now()) AS last_day; Calcular en Mysql el primer y último día del mes anterior: SELECT date_add(date_add(LAST_DAY(now()),interval 1 DAY),interval -2 MONTH) AS first_day; SELECT LAST_DAY(date_add(last_day(now()),interval -1 MONTH)) AS last_day;

Instalación del módulo mysql-python en NAS Synology

Instalar gcc en Synology Para la instalación de mysql-python es necesario el compilador gcc, por lo que lo obtendremos de Synology Open Source Project (http://sourceforge.net/projects/dsgpl). El paquete a descargar dependerá de la versión de NAS Synology que tengamos, por lo que tendremos que utilizara el comando: uname -a para conocer la versión de nuestro kernel y arquitectura instalada y descargar el paquete correspondiente. En mi caso he descargado: gcc463_glibc213_i686_cedarview-GPL.tgz pues mi equipo muestra cedarview y i686. Ahora lo descargamos y lo extraemos: cd /usr/local http://kent.dl.sourceforge.net/project/dsgpl/DSM%205.2%20Tool%20Chains/Intel%20x86%20Linux%203.2.40%20%28Cedarview%29/cedarview-gcc463_glibc213_i686_patched-GPL.txz tar -xvJf cedarview-gcc463_glibc213_i686_patched-GPL.txz rm cedarview-gcc463_glibc213_i686_patched-GPL.txz Instalación de las fuentes de Mysql Synology utiliza MariaDB, pero para la compilación del módulo de python podemos utiliz