¿Cómo extraigo páginas y corrijo un PDF escaneado en Ubuntu?
¡Trabajadadores argentinos!
Es indudable que las redes telemáticas constituyen hoy una de las formas
más extendidas para lograr el conocimiento, y que para ello la
existencia de archivos de documentación electrónica es un gran medio.
La informática nos permite distribuir electrónica todo tipo de
documentos, incluyendo libros, y hacerlo en meros segundos. La gran
compresibilidad de los datos textuales al pasarlos a formato digital
hace que la concepción "sin papel" sea una Realidad Efectiva que el
Justicialismo ha legado al Pueblo.
El formato de documento electrónico Adobe PDF es privativo, y si bien es
preferible utilizar el formato de documento libre DjVu, no puede negarse
que PDF está ampliamente extendido y disponible. Aún así, este formato
cuenta con algunas desventajas que se hacen patentes cuando el contenido
del documento está conformado imperfectamente en base a un original
escaneado.
Vean señores, en condiciones ideales, un documento debe estar escaneado
de una manera específica para que su uso pueda ser adecuado para
distribución.
Esto pide utilizar una resolución de escaneado de unos 600 DPI
(previendo así el doble de resolución utilizado en las tecnologías de
impresión normales, que suelen rondar los 300dpi en el caso de una
impresora láser). También conviene emplear el escaneo en modalidad
"escala de grises" (o a color, según corresponda).
Si los hombres fuesen perfectos, poco tendríamos que hacer para
corregirnos. Pero no somos dioses ni heroes, bastante con que seamos
hombres. Por tal motivo, estos requerimientos de perfección no siempre
se cumplen. Pero la buena voluntad no puede negarse a nadie.
Típicamente, podemos encontrarnos con reproducciones realizadas a partir
de páginas escaneadas de forma torcida, o con defectos típicos del
tratamiento de digitalización. Si bien estos problemas no suelen ser
graves como para impedir la lectura del texto, es cierto que estas
desprolijidades pueden ser inaceptables para la posterior distribución
del documento.
Para corregir esto haremos uso de un flujo de trabajo especialmente
pensado utilizando herramientas libres. El mismo se podría resumir de la
siguiente manera:
Tener un archivo PDF defectuosamente escaneado
Extraerle las láminas (hojas dobles escaneadas) y convertirlas a formato PNG
Dividir los archvos PNG en páginas individuales
Enderezar, corregir, redimensionar las páginas individuales
Volverlos a armar las páginas individuales en un archivo PDF.
Veamos un ejemplo clásico, pues esto suele explicarlo todo como decía
Napoleón.
Supongamos ya contamos con un archivo llamado "sinceramente.pdf". Este
se trata de un libro de 500 páginas ya escaneadas en escala de grises a
600 DPI de resolución, pero que el mismo cuenta con las láminas dobles
(dos páginas por hoja). Esto lo hace sumamente incómodo de utilizar en
dispositivos como e-Readers, que requieren una página. Además, los
dobleces complican el trabajo de OCR, lo hacen incómodo de leer, etc.
Comenzaremos a seguir el flujo de trabajo que os he propuesto, y
lograremos excelentes resultados.
Lo primero será extraer las hojas dobles del archivo PDF y convertirlas
a un formato de imagen que podamos utilizar con Scan Tailor. Esto se
puede hacer desde la Terminal. A fin de extraer las páginas del PDF y
convertirlas en imágenes, podríamos ingresar:
pdftoppm sinceramente.pdf lamina -r 600 -png
Esto creará una serie de archivos numerados llamados lamina-xxx.png, con
una resolución de 600 DPI. Debemos tener en cuenta que si bien podremos
usar la opción -jpg en lugar de -png para cambiar el formato de los
archivos resultantes, os recomiendo utilizar fundamentalmente el formato
png pues es muy superior para estos menesteres ya que dispone de
compresión sin pérdida, y evitará enormemente la formación de "halos o
borroneados" en las letras. Esta acción tardará un rato en hacerlo,
dependiendo de la cantidad de láminas a extraer. En el caso que
referimos, tardó unos 12 minutos para extraer las 250 láminas de dos
hojas cada una.
Ahora bien, estos archivos png que conforman las láminas dobles habremos
de corregirlas con Scan Taylor. Para instalar este excelente programa,
volvemos a recurrir a la terminal Linux, ingresando en ella el siguiente
Comando de Organización:
sudo apt install scantailor
Scan Tailor no es un programa para escanear (para ello recomiendo Simple
Scan o gScan2pdf, que pueden escanear de forma multipágina). Scan Tailor
en cambio se especializa para realizar la tarea de corrección o
postproducción en el escaneo de libros. Especialmente dividir, cortar y
encuadrar un texto escaneado o fotocopiado a fin de producir hojas
individuales de gran calidad, normalmente en formato TIFF. Estas pueden
luego volverse a unir por medio de otros programas (por ejemplo, el
mismo gScan2pdf).
Ahora podremos cargar estas láminas en el programa Scan Tailor. Para
ejecutar el programa vamos a Aplicaciones / Gráficos / Scan Tailor.
Al iniciar el programa se desplegará una ventana que nos pedirá que
inauguremos un archivo para el proyecto. Esto es así pues - si bien en
este caso el proyecto forma parte de un solo volúmen - podría suceder
que quisiéramos agregar páginas de varios volúmenes o documentos
diferentes. Para ello es necesario crear una carpeta de proyecto. Dentro
de esta carpeta se importarán las imágenes originales de las láminas
(cada una de ellas contienen dos hojas).
En nuestro caso, le importamos todos los archivos cfk.xxx.png que
creamos recién con el pdftoppm. Generalmente la carpeta de salida será
una subcarpeta llamada "out", donde irán a parar las nuevas imágenes
TIFF procesadas.
Una vez importadas las imágenes de origen al Scan Tailor, el programa
nos presentará una ventana de trabajo dividida a tres paneles.
El panel de la izquierda define los seis pasos necesarios para tratar
las imágenes. El del centro y mas grande nos permite ver la página
actual donde vamos a trabajar, y el de la izquierda es un slider que
contiene miniaturas de las láminas u hojas (según vayamos trabajando).
Se abrirá el programa con los seis pasos requeridos por el asistente. De
todos ellos, los primeros cinco generan datos no destructivos (y nos
muestran las presentaciones preliminares de los cambios). El sexto paso
es el final que aplica los cambios y genera los archivos de salida. El
accionar puede durar desde unos pocos segundos hasta un par de horas de
trabajo para un archivo de muchas páginas, y algo más si contienen
fotografías o diseños complejos.
Veamos el caso de un trabajo de documentar nuestro libro PDF de 500
páginas.
Podremos utilizar Scan Tailor directamente para escanear el libro, pero
en este caso ya tenemos el libro escaneado en PDF. Sin embargo, Scan
Tailor no acepta PDF directamente, sino que trabaja con los archivos de
imagen. Para ello extraeremos el archivo
El primer paso consiste en la Orientación, y se encuentra detallado en
dicha columna. Esto puede hacerse automáticamente presionando el botón
Automatizar "play" que aparecerá en la fila "Orientación", del el panel
izquierdo, no bien acerquemos la flecha del ratón sobre ella. Esta
orientación automática suele llevar unos pocos segundos para todas las
páginas. En el caso que el volúmen contara con láminas horizontales y
verticales, se pueden especificar en las propiedades de Orientación.
El segundo paso consiste en delimitar la división de páginas (ya sea su
corte vertical u horizontal según corresponda). Nuevamente, el botón
Automatizar ("Play") de esta fila "Dividir Páginas" del panel izquierdo
nos permitirá hacer esta tarea rápidamente. Scan Tailor suele detectar
muy bien el centro del pliegue de las láminas y nos presentara una linea
guía (móvil a través de sus nodos), que divide la misma en un campo azul
para la página izquierda rojo para la derecha. Esta línea guía, además
de servirnos como divisora de corte, también sirve como referencia de
centro para hacer mucho más preciso el trabajo anterior. En los
volúmenes muy gruesos (de 360 páginas o más) debemos prestar atención
sobre todo a las láminas intermedias, ya que son las más complicadas a
la hora de escanear un libro. Una cumplido el paso de dividir las
láminas nos encontraremos con las páginas ahora individualizadas. El
tercer paso será su alineación. Esto puede hacerse con muy buen grado de
precisión de forma automatizada, de la misma forma que en los pasos
anteriores. Sin embargo, es muy importante que la alineación sea lo más
perfecta posible. A tal fin, podremos ajustar las hojas de forma manual
si es requerido. A tal fin indicamos en el panel izquierdo la modalidad
de alineación manual, y podremos rotar la página sobre su eje,
valiéndonos de las líneas guías de color azul, que nos permiten
enderezar tomando como referencias los renglones, márgenes o líneas que
pudiésemos tener de referencia.
El siguiente paso es tal vez el más crítico, y consiste en delimitar una
"caja de contenido". La misma debe delimitar exactamente y bien al ras,
el cuadro que queremos registrar en el archivo final. Es importante
saber que lo que está por fuera del cuadro azulado es probable que se
descarte en el proceso final. Convinee presentar la selección
automática, pero en caso de tener un libro impreso grueso, debemos
revisar página por página para asegurarnos que la selección esté bien
hecha. Tomamos como referencia las letras enteras del renglón superior e
inferior del cuadro, y los márgenes de texto izquierdo y derecho. En el
caso de que el volúmen original estuviese perfectamente alineado y
siempre fuese igual la tarea puede repetirse en todas las hojas.
En el caso extremos en el que quisiéramos omitir encabezados o pies de
páginas, podremos redimensionar cada caja de contenido a mano tomándolas
de sus nodos de las esquinas.
El quinto paso consiste en definir márgenes generales para la obra
terminada. Este margen se agrega a la caja de selección. Generalmente se
utilizan 2 cm por lado para que quede un PDF con aire y prolijo, pero
también podremos reducirlo a unos 2 milímetros o menos, a fin de lograr
un documento apto para tablets o e-Readers. Es por este motivo que era
muy recomendable hacer la caja de selección bien rasante en el texto.
El sexto paso consiste en definir el formato, calidad (DPI) y funciones
de salida. Normalmente desearemos aplicar la función corregir dobleces
(sombras o manchas) Esto lo hace el software automaticamente, aunque
tenemos la posibilidad avanzada de hacerlo mediante zonas de
enmascaramiento. En este caso hemos prescindido de ello.
Para contemplar un tutorial completo (incluyendo en video) podemos
recurrir a la Wiki oficial de Scan Tailor.
El sexto paso es el procesamiento final y es el único que realmente
genera archivos de salida. Naturalmente, este paso lleva más tiempo,
pero Scan Tailor opera muy bien en equipos con varios núcleos. En este
caso tardó unos 40 minutos en un equipo tipo i7.
El proceso nos dejó creadas las páginas de salida en formato TIFF.
Crear un nuevo PDF a partir de imágenes JPG o TIFF
Para hacer un nuevo PDF corregido a partir de estos archivos TIFF
individuales, podremos utilizar el utilísimo gscan2pdf, que ya os he
enseñado a utilizar.
Lo instalamos con:
sudo apt-get install gscan2pdf
Y lo ejecutamos desde Aplicaciones / Gráficos / gScan2pdf.
Este programa sencillo nos permite importar los archivos TIFF, y
exportarlos a un PDF. Simplemente cargamos los TIFF de las páginas
individuales arrastrándolas a gscan2pdf, y las exportamos como PDF. Como
ya el formato, la resolución y demás parámetros de las páginas ya fueron
configurados en los pasos anteriores, la exportación no debería requerir
correcciones de ningún tipo, y por lo tanto no debería durar mucho.
Finalmente, ya contaremos con un PDF completamente corregido, y podremos
gritar al cielo "¡Viva Perón!".