Convertir pdf escaneado con dos páginas por hoja a una página por hoja

En algunas ocasiones tenemos la necesidad de escanear parte de algún libro o apuntes de clase para luego poder leerlo por ejemplo en nuestra tablet o celular (dispositivos tan populares hoy en día), por comodidad el proceso de digitalización se suele realizar escaneando dos páginas a la vez y no una, el resultado final es un archivo pdf en el cual cada página contiene dos del libro escaneado, resultado la lectura algo incómoda. A continuación explicaré como editar ese documento para que por cada página del pdf haya una del libro.
Lo primero es aclarar que el proceso de edición se realizará usando herramientas de Linux, en este caso la distribución de Ubuntu 12.04, pero el proceso debería de ser análogo con en cualquier otra distribución.
Lo primero es crear una carpeta en algún lugar de nuestro computador, por ejemplo en el escritorio, a la que llamaremos ingeniosamente Intercalar (pueden elegir otro nombre si no les gusta), luego el proceso a realizar se resume en dos pasos:

1. Separar páginas pares e impares


Para realizar este procesos es necesario instalar pdfshuffler, para ello abrir un terminar y escribir:
sudo aptitude install pdfshuffler
Luego realizar los siguientes pasos:
(a) Ir a File>Añadir y cargar el archivo que se desea editar.
(b) Seleccionar todas las páginas (es importante que verifiquen que todas las páginas han sido seleccionadas) luego ir a Edit>Crop y aparecerá la siguiente ventana


(c) En izquierdo escribir 50 (el 50 indica el porcentaje que estamos eliminando, en este caso por la izquierda) luego dar click en aceptar, así se habrán cortado todas las páginas impartes y nos habremos quedado con las páginas pares.
(d) Ir a Archivo>Guardar como y guardar el archivo en la carpeta Intercalar asignandole el nombre de par (solo pueden usar este nombre, más adelante explicaré el motivo)
(e) Cerrar pdfshuffler.
(f) Realizar nuevamente los pasos (a), (b), (c), (d) y (e), pero en lugar de colocar 50 en la casilla de Izquierdo, colocar 50 en la casilla de Derecho y luego guardar el resultado obtenido con el nombre de impar (recuerden que no pueden colocar un nombre distinto)

2. Unir los archivos par e impar intercalando sus páginas


Para realizar este procesos es necesario tener instalado pdftk, para ello abrir un terminar y escribir:
sudo aptitude install pdftk
Luego para facilitarles el trabajo he hecho un pequeño script, es el siguiente:
#!/bin/bash
echo 'INTERCALADO DE PAGINAS PDF'
echo -n 'Introduzca el numero de paginas pares o impares N='
read N;
pdftk impar.pdf burst output izq_%d.pdf;
pdftk par.pdf burst output der_%d.pdf;
pdftk izq_1.pdf der_1.pdf cat output ArchivoCompleto_tmp.pdf;
for ((i=2;i<=N;i++));
do
pdftk ArchivoFinal_tmp.pdf izq_$\$$i.pdf der_$\$$i.pdf cat output ArchivoFinal_mod.pdf;
mv ArchivoFinal_mod.pdf ArchivoFinal_tmp.pdf;
done
for ((i=1;i<=N;i++));
do
rm izq_$\$$i.pdf;
rm der_$\$$i.pdf;
done
rm par.pdf;
rm impar.pdf;

Copiar el texto anterior en un archivo de texto y guardarlo en la carpeta Intercalar con el nombre intercalar.sh (puede ser otro nombre, lo que importa es la extensión), luego darle chick derecho e ir a propiedades>permisos y marcar la casilla que dice permitir ejecutar como programa.
Notar que llamar a los archivos impar.pdf y par.pdf es importante para que funcione el script.

Si se realizaron correctamente todos los pasos anteriores bastará con dar doble click al archivo intercalar.sh , se abrirá una consola como se muestra a continuación


luego escribir el número de páginas impares o pares (tener cuidado de no equivocarse) finalmente dar ENTER y esperar a que se complete el proceso.

Si hicieron todo bien habrán obtenido un archivo pdf en el cual por cada hoja haya una página del documento digitalizado.

Comentarios

  1. a mi ese script no me andubo, lo cambie y lo hice mas rapido de esta forma.


    #!/bin/bash
    echo 'INTERCALADO DE PAGINAS PDF'
    echo -n 'Introduzca el numero de paginas pares o impares N='
    read N;
    `pdftk impar.pdf burst output izq_%d.pdf > /dev/null 2>/dev/null &`;
    pdftk par.pdf burst output der_%d.pdf;
    listPdf="";
    for ((i=1;i<=N;i++));
    do
    listPdf="$listPdf izq_$i.pdf der_$i.pdf ";
    done
    pdftk $listPdf cat output ArchivoFinal.pdf;
    rm der_*
    rm izq_*

    ResponderEliminar
    Respuestas
    1. Se agradece el aporte, aunque se me hace algo extraño que no te haya funcionado.

      Un saludo.

      Eliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. He eliminado el comentario anterior, al darme cuenta que los scripts no funcionan por el formato que le da blogger.

    He pegado en pastebin el script que me ha funcionado a mi:

    http://pastebin.com/2F2BT5z9

    Gracias por la idea y un saludo.

    ResponderEliminar

Publicar un comentario