Mostrando entradas con la etiqueta PDF. Mostrar todas las entradas
Mostrando entradas con la etiqueta PDF. Mostrar todas las entradas

martes, 15 de octubre de 2019

Otro poco de recorte de PDF

Antes de las vacaciones habíamos hablado de como obtener una copia digital de un manual de papel para evitar su deterioro (véase aquí). Hoy vamos a hacer una variación de esta técnica. Hemos vuelto de un congreso donde nos ha facilitado un libro de actas en papel —grapado, por cierto, no cosido—, y sin copia digital. Para justificar nuestra presencia, además de presentar las facturas y certificado de asistencia, siempre es interesante guardar una copia digital de los resúmenes de tus conferencias, que quedan como justificación para el futuro. Sin pensarlo mucho, escaneé directamente desde el libro, doblando como pude, y el resultado fue un fichero PDF A4 con un texto interior B5. En la otra entrada habíamos manejado con convert imágenes jpg, pero la aplicación de convert sobre un PDF puede generar una pérdida de calidad si no manejamos correctamente los argumentos, aparte de lo difícil que es cortar por el lado izquierdo, derecho y abajo. En general, lo podría realizar con pdf-shuffler, aplicación que llevo utilizando desde hace años para el manejo de los pdfs en linux. Sin embargo, pdfshuffler es una aplicación antigua python-gtk que hace de interfaz gráfica de python-pyPdf y depende de python 2; es más, no tiene mantenimiento desde hace bastante tiempo. En Fedora 30 se está haciendo una transición a python 3 y la librería python2-PyPDF2 no permite importar pyPDF2 como solicita shuffler (podemos ver aquí los errores). En resumen, pdf-shuffler no arranca:


Lo más sencillo es utilizar pdfarranger,


pero en esos momentos recordaba que en Fedora 29 pdfarranger no estaba en los repositorios habituales y había que incorporar un repositorio personal o COPR. Desde los últimos tiempos en que aun utilizaba Ubuntu, tengo muy malos recuerdos de los ppa, así que decidí buscar alternativas de terminal, a ver que había. En esta página describen, entre otras aplicaciones, pdfcrop. En Fedora requiere la instalación de texlive-pdfcrop:

su -c 'dnf install texlive-pdfcrop'

y luego ejecutar utilizando el argumento margins (--margins " " (0 0 0 0) para aumentar o disminuir los márgenes —si solo se una un número afecta a todos ellos—). En este caso el comando fue:

pdfcrop --margins '-145 -0 -110 -330' input.pdf output.pdf

Para comprender lo que cortamos, el pdf era de 826x1160 a 100 ppp, es decir, un A4 escaneado a calidad no muy alta, y nos aproximábamos a un B5.

Después descubrí que en Fedora 30 ya está pdfarranger en los repositorios, y además recomiendan no usar pdf-shuffler, ya que pdfarranger es una versión actualizada del otro, optimizada a python 3.

¿Qué hacer? Más fácil es usar pdfarranger; más rápido pdfcrop. Eso sí, pdfarranger permite hacer más cosas que recortar. Para los que estemos acostumbrados a shuffler, acudir a arranger, que es más o menos igual, salvo que tengáis prisa y solo queráis recortar o aumentar los márgenes.





viernes, 14 de junio de 2019

Escanear fotos y texto hasta obtener un PDF de calidad suficiente

En este caso hablamos de un manual de diagnóstico editado en 1979, con una fotos y claves de identificación que utilizamos continuamente en el laboratorio. Como es natural, con tanto uso en un lugar no demasiado limpio —se trata de identificación de helmintos en muestras fecales— el manual está cada vez peor, no solo por la edad, si no también por el uso. Es un libro descatalogado, así que no hay manera de volverlo a adquirir. Para no perderlo, se nos ha ocurrido escanearlo y conservar una versión en PDF en color. El equipamiento disponible para hacerlo es una Canon i-sensys MF421dw, que escanea de maravilla. Lo ideal sería recortar el libro y escanearlo desde el cargador automático con lo que obtendríamos directamente un PDF. Sin embargo, no queremos destruir aun más el manual, así que hubo que escanearlos página a página. Además, como el manual tiene un formato B5, aproximadamente, luego habrá que recortar, así que la idea es escanear en formato jpg para manipular las imágenes en bloque con imagemagick; bajo esas circunstancias, la impresora-escáner genera una imagen jpg de cada página. Extraídas todas las páginas nos enfrentamos a 178 imágenes jpg, con un tamaño de 2480x3504 píxeles, 300 puntos por pulgada. Va a ser más complejo que una simple conversión como la que hacíamos aquí. Problemas:
1. Ese tamaño se ajusta a un A4, sobra márgenes por todos los lados hasta acercarnos a la página original. Hay que recortar
2. La mitad están dadas la vuelta, ya que el escaneo se hace más fácilmente rotando las impares, debido a la estructura de la impresora. Hay que rotar la mitad de las páginas
3. Hay que convertir una serie de imágenes a un fichero PDF sin perder calidad


Primero hacemos una copia de las imágenes, por que escanear ha llevado el 97% del tiempo y no queremos repetir. Basándonos en imagemagick para hacer cambios en bloque, y por orden:

1. Recortar: cuando se escanea un libro no salen todas las páginas iguales. Sobre el A4 que escanea la máquina, unos van unos milímetros más hacía aquí o allá. Revisando varias muestras a lo largo de las imágenes con Gimp, nos queda un área de recorte de 1890x2815 para evitar perder información (aproximadamente 16x24 cm; más grande que un A4 2014 —148x210— y menos que un B5 —176x250—; seguramente en el año 1979 las ISOs no perseguían a las imprentas. Las medidas estándar se pueden comprobar aquí). Además hay que recortar 20 puntos por arriba y 20 por la izquierda. El comando para realizar esto en bloque es

convert *.JPG -crop 1890x2815+20+20 output.jpg

Este comando utiliza convert para recortar (crop) un rectángulo de 1890 píxeles de ancho y 2815 de alto, recortando 20 pixeles a la izquierda y 20 arriba. El JPG inicial va en mayúsculas por que la impresora extrae los ficheros con la extensión en mayúsculas.

2. Rotar: solo hay que rotar las páginas impares, así que las separé en un directorio diferente. Seguro que con un script de bash se podría evitar este paso, pero así somos más rápidos, efectivos —cumplimos el objetivo— y eficientes —se usan menos recursos, es decir, gastamos menos el cerebro—. Eso sí, hay que evitar un cambio de nombre, ya que es muy importante mantener el orden de los ficheros (output-0.jpg, output-1.jpg...). Comando:

convert *.jpg -rotate "180" -set filename:basename "%[basename]" "%[filename:basename].jpg"

De esta manera  -rotate "180" las gira 180º y -set filename:basename "%[basename]" "%[filename:basename].jpg hace que sobreescribamos los ficheros —por eso hacemos primero una copia de seguridad; nunca se sabe lo que puede pasar—.

3. Conversión de 178 ficheros jpg a un PDF:

convert *.jpg -density 300 -size 1890x2815 test.pdf

Inicialmente ejecuté así para conservar el tamaño, pero no es necesario; si ponemos solamente

convert *.jpg test.pdf

queda igual, ya que las imágenes ya tienen la densidad y resolución deseada.

Queda por decir que antes de ejecutar este último comando hay que corregir los nombres de los ficheros, por que imagemagick los ordenó al recortarlos como

output-0.jpg, 1, 2.... 10,11... 100, 101

y luego al aplicar la última conversión pone el 100 y siguientes antes que el 20, ya que ordena como cadema alfanumérica, sin considerar el valor real del número. En gnome no hay problema, ya que podemos seleccionar por bloques e introducir cambios por grupos, por ejemplo:


Y listo. Quedó perfecto como copia para el laboratorio. No puedo enseñar una copia, por que tiene derechos de autor y lo vamos a usar de manera interna como copia privada, para evitar que se destruya completamente el original, pero no se puede compartir. Sin embargo, para cuando sea necesario hacer una copia de seguridad de un manual con imágenes que se está dañando por su uso continuo, con un escáner que de calidad suficiente y convert de imagemagick lo arreglamos.
El siguiente paso sería intentar hacer OCR del texto, pero este manual es fundamentalmente foto, y no estoy seguro que sea necesario o que vaya a quedar mejor. Eso queda para un ejemplar que sea fundamentalmente texto.

martes, 8 de enero de 2019

Conversión de un PDF a imagen. Imagemagick, convert y la calidad obtenida

Al contrario que la entrada anterior, ahora me han pedido que convirtiera una ficha editable en una imagen. Lo más sencillo es convertir el ODT en writer a pdf y este a una imagen con convert (comando de imagemagick),


sin importar el número de páginas, ya que convert convierte a cada una en una imagen.

$ convert fichero.pdf fichero.png  # o jpg, según las posibilidades del programa destino

El problema es la calidad de salida. Para PDFs con texto e imágenes, los resultados salen mejor introduciendo algunos parámetros

$ convert -density 300 -quality 96 fichero.pdf fichero.png

Y así sale de manera adecuada. Y si no, que cada uno se ajuste a las muchas posibilidades de convert

man convert

Nada como un terminal pata negra



jueves, 15 de febrero de 2018

PDF Portfolio de Acrobat. Ningún problema

En los últimos días me han enviado documentación embebida en un portfolio de Acrobat. En un principio parece que nada podemos hacer con el portfolio...


pero es simplemente por que evince por defecto abre el PDF mostrando miniaturas, y lo único que hay que hacer es elegir adjuntos, como en la siguiente captura de pantalla y listo. He ocultado los nombres de los ficheros incluidos por que no son de mi autoría, pero se ve claramente como se pueden ir visualizando todos los documentos y extraer copias, imprimir etc...


No veo la necesidad de incluir esta "función" en Acrobat, salvo generar una "dependencia" en el programa y atar a sus usuarios bajo el anillo que los controla a todos. Aun así, no se evita que lo podamos utilizar con otro software (eviten la tentación de instalar Acrobat) ni supone ningún control sobre el malware que puede entrar en los PDF (u otro tipo de ficheros que se pueden incluir en el portfolio). Eso sí, me ha dejado 2 minutos pensando si era posible manejar los documentos, hasta que me he dado cuenta del problema.

Para que veamos el problema de seguridad, en un portfolio se pueden incluir muchos tipos de ficheros (tomado de aquí)
"...you could assemble all the documents for a specific project, including text documents, email messages, spreadsheets, CAD drawings, and PowerPoint presentations. The original files retain their individual identities, but are still part of the PDF Portfolio file. Each component file can be opened, read, edited, and formatted without affecting the other documents in the PDF Portfolio." Es decir, se puede introducir código malicioso en los PDFs, como sabemos, macros en ficheros de Office, etc... Y aun mejor, manipular el portfolio, editar los ficheros internos y devolverlos con todo el malware que se quiera poner en su interior, o como dice la nueva moda, simplemente unos accesos desde los cuales te inyectan el malware. ¡No me gusta este invento!

miércoles, 22 de febrero de 2017

Herramientas para una edición sencilla de un PDF

En alguna entrada hemos señalado las limitaciones que los usuarios de Linux tenemos en la edición de los PDF (Portable Document Format). En general, para arreglos rápidos, como cambios de orden de páginas, rotaciones, añadir o borrar páginas o fusionar documentos suelo usar pdf-shuffler o pdfmod. Como usuario de Fedora, y por tanto de gnome, lo más natural es el uso de pdfmod, ya que es una utilidad nativa de gnome y debería funcionar como un guante. La mayor parte de las veces es así, pero en ocasiones, sobre todo con PDFs grandes, da problemas y en la edición se pierden, en ocasiones, algunas páginas —aun no sé por qué—. Por ello, y hasta el día de hoy, recomiendo la utilidad pdf-shuffler. La apariencia es algo más antigua,


pero funciona adecuadamente.

miércoles, 13 de julio de 2016

Solución sencilla para ficheros PDF en Linux v3

Con mucha prisa teniendo que cambiar solo una página en un PDF recurrí esta vez a LibreOffice Draw, siguiendo un consejo de mi amigo HckoRootX. Resultado, perfecto. Abre, edita hasta donde se puede con mucha facilidad. El único inconveniente es que no guarda PDF, ya que no es su formato nativo, así que hay que exportar; perdí 5 segundos hasta que me di cuenta.


PD. Por soluciones que no quede

miércoles, 29 de junio de 2016

Solución sencilla para los ficheros PDF v2

Más sencillo aun.

Introducción: en pleno cambio de Fedora 23 a Fedora 24 en todos los ordenadores, me faltan muchas herramientas o algunas no funcionan por problemas de dependencias, por ejemplo, pdf-shuffler, pdftk. Tengo que extraer parte de un PDF. ¿Cómo lo hago?

Materiales y métodos: herramientas disponibles pdfmod y evince. pdfmod se niega a leer los ficheros con errores tipo EOF y otros; solo nos queda evince. Se puede ver la forma más sencilla de lograrlo, siempre que no tengamos que girar las páginas.


Simplemente imprimimos un fichero (1) y seleccionamos las páginas deseadas (2)

Resultados: perfecto

Conclusión: más sencillo imposible

martes, 21 de junio de 2016

Solución sencilla para los ficheros PDF "EOF marker not found"

Concretemos el problema:
PDF es un formato de almacenamiento para documentos digitales (aunque luego acabemos imprimiéndolos) independiente de la plataforma de software o de los dispositivos hardware en que lo estemos utilizando. No deja de ser una versión modificada del lenguaje de descripción de páginas postscript (PS), que viene desde muy antiguo (1979). Sus generadores fundaron la empresa de software ADOBE. Eso nos lleva a que no exista un verdadero editor de documentos PDF estilo Adobe Acrobat, que Adobe llama "edito PDF original". Es decir, para editar un PDF en Linux las posibilidades son limitadas:
1. Generarlo de nuevo desde una aplicación con la capacidad de exportar. Eso exige que seamos los autores originales y/o que conservemos/tengamos la versión inicial en otro formato. En el caso de libreoffice permite al exportar guardar el formato de libreoffice y es sencillo. Si las aplicaciones no permiten exportar siempre nos queda imprimir como PDF, que en Linux es natural y forma parte de la idiosincrasia del sistema.
2. Ediciones limitadas a cortar y añadir páginas o rotarlar (PDF-shuffler, PDFMod GUI o pdftk y alguna más en CLI...)
3. Añadir algo POR ENCIMA del original (xournal)

En resumen, no tenemos un editor en formato libre similar a Abobe Acrobat. Eso nos lleva al problema en el que me he encontrado. Una revista de divulgación en la que publicamos de vez en cuando artículos nos permite capturar su PDF completo desde el que podemos extraer fácilmente una copia de nuestros artículos borrando las páginas innecesarias; en general utilizo pdf-shuffler. Sin embargo, después de haber eliminado más de 80 páginas no deja guardar el resultado debido a


EOF marker not found es No se ha encontrado "End of file marker". Simplemente el editor ha añadido "algo" después del fin natural del fichero pdf; y como hemos visto en Linux no podemos editar el contenido, solo manipularlo parcialmente. Y la incapacidad de "saltar" este problema es un error conocido en pdf-shuffler. Además, pdfmod no permite ni siquiera abrir el fichero al detectar ya al inicio el error. Generalmente este problema lo resolvía en el terminal mediante pdftk, editándolo por comándos, al extraer las páginas que quería conservar, pero pdftk ya no está disponible en Fedora (las razones las podemos ver aquí).
Por ahora la solución que he encontrado es usar las poppler-utils y a través de pdfunite he generado un pdf nuevo uniéndole otro pdf al final.

pdfunite fichero.error.eof.pdf otro.pdf output.editable.pdf

Queda editarlo en pdf-shuffler o pdfmod, eliminando las páginas que no quieres mantener y listo. Tendremos que buscar alternativas a pdftk. Hay algunas sugerencias, (1, 2), o las que señalan en la página de Fedora que hemos visto, pero aun no he probado.

lunes, 25 de enero de 2016

Presentaciones en Windows para los usuarios de Linux. Impressive 0.11.1

Como ya saben los que han leído este blog soy un usuario de Linux. Como ya he explicado alguna vez,

"... si trabajamos con Impress, siempre tenemos problemas al llegar a cualquier sala y proyectar nuestras presentaciones; nos enfrentamos siempre a ordenadores con Windows y el cambio a PowerPoint altera siempre las fuentes, aunque tengamos las ttf instaladas en Linux y las estemos usando y nos descoloca las fotos. Es más, aun teniendo LibreOffice en esos ordenadores, se alteran las fuentes. Para evitar esos problemas, llevamos siempre un pdf, pero el resultado no es tan atractivo como una presentación. Por si todo falla, suelo colgarlas en slideshare, pero no siempre hay conexión a red. Finalmente, siempre llevo un portátil, pero en muchos sitios no te permiten usar tu propia máquina. Con impressive está todo solucionado..."

Y es así. Desde hace años uso Impressive. Voy a empezar este nuevo semestre y para los que usan este programa diré que hay una versión nueva —0.11.1— de finales de 2015.
Además de lo dicho, Impressive en Windows tiene una ventaja añadida. Solo tenemos que descomprimir la versión de Windows en un directorio de un dispositivo USB y funciona directamente. Lleva todas las dependencias incluidad (Python, PyGame, PIL, pdftk, un renderizador de PDF ...).

En resumen, llegamos a un ordenador con Windows —tierra extraña llena de infieles— y extraemos nuestra arma secreta, un USB con el directorio impressive.
Simplemente:
1. Super+R (ejecutar)
2. cmd (emulador de terminal en Windows)
3. f: (o la unidad que le corresponda al USB)
4. cd impressive (entrar en directorio)
5. impressive fichero.pdf

Listo, ya se presenta perfectamente.

Únicos defectos:
- No permite animación (salvo que se diseñen las diapositivas para que den esa impresión). A mi no me importa, por que no animo nunca.
- No permite la incorporación de vídeos (hay que recurrir a enlaces a la red o llevar los vídeos en la unidad USB)


PD. También permite presentar colecciones de imágenes, si son de los formatos jpg, png, tif o bmp.

miércoles, 16 de julio de 2014

Extraer texto plano de una presentación odp

y, ¿para qué?, dirán algunos.
Hagamos una pequeña introducción.
En general, cuando tenemos tiempo, preparamos correctamente nuestros materiales de clase y charlas. Primero revisamos la "historia del arte", es decir, que se sabe hasta hoy de este tema; segundo, hacemos una selección de los documentos necesarios para los objetivos que tiene la clase, charla... lo que sea. Tres, si es posible, añadimos de nuestra propia cosecha los últimos avances que hemos realizado, si son interesantes para el tema. Cuatro, generamos un documento síntesis de toda esa información con las citas correspondientes; un documento bien hecho y bien citado se puede actualizar muy fácilmente con las novedades sobre el tema y nos facilita mucho el trabajo. Quinto, con ese documento generamos las presentaciones cuando tenemos que desarrollar clases o charlas.
Lo que pasa es que muchas veces nos falta el factor tiempo, así que 1, 2 y 3 se hacen juntos, se mezclan en un formato virtual cerebral y se pasa al punto cinco omitiendo el cuatro.
En resumen, actualmente, por falta de tiempo, no generamos los documentos síntesis.
Y de repente, ¡ALARMA!,  te piden que entregues el documento de la presentación, y como todavía no se han diseñado escáneres de cerebro que permitan extraer el contenido de la versión virtual interna (que además está seguramente muy desordenada, según las costumbres de cada cual, ese documento no existe; está solo en tu mente y en unos directorios llenos de ficheros que nadie sabe si fueron usados o no. La redacción de ese documento es especialmente difícil, por que los contenidos están en tu interior, pero el orden de exposición lo has delegado en una herramienta llamada presentación —nos pasa a todos; las aplicaciones como PowerPoint, Impress o incluso Prezi hace que no mantengamos el orden en la cabeza. Tenemos la información, pero hemos perdido el orden—.
Nos queda redactar el documento siguiendo las presentaciones o...
extraer el texto del documento ppt, odp...

Por supuesto, extraer el texto de un PDF es muy sencillo con el comando pdftotext, un comando de la suite de software xpdf, pero que también se encuentra en poppler-utils, un derivado de xpdf. Instalamos

su -c 'yum -y install poppler-utils'
    passwd

y el comando

pdftotext fichero.pdf

nos genera un fichero.txt con el texto plano del documento pdf.
Sin embargo, en este caso tenía un documento odp. Por supuesto, podemos convertirlo a pdf en la libreoffice y lugo aplicar pdftotext, pero no es necesario. Podemos recurrir al comando odt2txt, que convierte el texto de los ficheros OpenDocument en texto plano. Instalamos

su -c 'yum -y install odt2txt'
    passwd

y ejecutamos

odt2txt fichero.odp

y obtenemos un fichero.txt con el texto plano de la presentación.
Siempre es más fácil escribir un documento a partir del esquema que tenemos preparado que volver a seguir una presentación e ir desarrollando los contenidos. O al menos eso creo yo.


miércoles, 19 de marzo de 2014

Compresión y optimización de documentos PDF

He tenido un problema con un documento extraído directamente con un escáner. El pdf final presentaba una buena calidad de visionado, pero a costa de un tamaño excesivo. La solución podría haber sido extraer cada página, que no era más que una imagen, tratarla individualmente, y generar un nuevo pdf (como ya hemos hecho en ocasiones, empezando como aquí o aquí).



Como tenía que ser algo rápido, primero lo intenté haciendo una conversión a través de pdftk pasando de pdf a un documento ps de gran volumen, y luego reconvertirlo a pdf, que suele quedar más "ligero"

pdf2ps fichero.pdf resultado.ps

ps2pdf resultado.ps fichero.mas.pequeno.pdf

Si bien es cierto que logré una reducción de tamaño, y que el resultado mantenía mucha calidad, la reducción era solo del 20% y el documento seguía aun poco manejable para enviarlo por la red. Así que decidí aplicar el script shrinkpdf. La reducción fue espectacular, quedando alrededor del 8% del volumen original, pero era completamente ilegible. Finalmente, en este enlace encontré este script

#!/bin/bash

DPI=150
PDF_DESTINATION=""

help() {
echo "optimize_pdf help"
echo "-h : show this help"
echo "-d : (optional) output pdf document resolution, by default : 150"
echo "-s : pdf source file, this file must exist"
echo "-o : pdf output file"
}

full_path() {
if [ -z $1 ]; then
exit;
else
if [ `expr substr ${1:-a} 1 2` != "/" ]; then
FULL_FILE=`pwd`"/"$1
fi
fi
echo $FULL_FILE
}

isNumeric(){ echo "$@" | grep -q -v "[^0-9]" ;}

while getopts "s:o:d:h" flag
do
case $flag in
#Source : source file
"s")
PDF_FILE=`full_path $OPTARG`
if [ ! -e $PDF_FILE ]; then
echo "Please provide a valid source file"
exit=1
fi
;;
#Output : output file
"o")
PDF_DESTINATION=$OPTARG
;;
#Dpi : desired resolution
"d")
if [ -z `isNumeric $OPTARG` ]; then
DPI=$OPTARG
else
echo "Please provide a numeric value for your DPI"
exit=1
fi
;;
"h")
exit=1
;;
esac
done

#Is there a target file?
if [ -z $PDF_DESTINATION ]; then
echo "Please provide a file name for output"
exit=1
fi

#At least one error, we're not going any further
if [ $exit ]; then
help
exit
fi

pdftops \
-paper match \
-nocrop \
-noshrink \
-nocenter \
-level3 \
-q \
"$PDF_FILE" - \
| ps2pdf14 \
-dEmbedAllFonts=true \
-dUseFlateCompression=true \
-dOptimize=true \
-dProcessColorModel=/DeviceRGB \
-dUseCIEColor=true \
-r72 \
-dDownsampleGrayImages=true \
-dGrayImageResolution=$DPI \
-dAutoFilterGrayImages=false \
-dGrayImageDownsampleType=/Bicubic \
-dDownsampleMonoImages=true \
-dMonoImageResolution=$DPI \
-dMonoImageDownsampleType=/Bicubic \
-dDownsampleColorImages=true \
-dColorImageResolution=$DPI \
-dAutoFilterColorImages=false \
-dColorImageDownsampleType=/Bicubic \
-dPDFSETTINGS=/prepress \
- "$PDF_DESTINATION"


La guardé como texto plano y la ejecuté directamente

. optimize_pdf.sh -s input.pdf -o output.pdf

y con el conseguí una reducción al 25% y con un documento visible de forma aceptable. Como se puede ver, es fácil manejar alguno de los parámetros, aunque por la premura de tiempo no toqué nada. Cubiertas las necesidades en 1 segundo de computación.

¡Qué haríamos sin el terminal y sin los usuarios que dominan bash y nos regalan estas utilidades!

jueves, 5 de diciembre de 2013

PDF y otras costumbres antiguas


# [script IRONIA on]
$ . ironia.sarcasmo.sh

Hoy en día todas las empresas e instituciones quieren usar las últimas tecnologías para facilitar la vida de las personas, y por ello han decidido mandarnos las solicitudes -para cualquier cosa- en un magnífico PDF. Este PDF en ocasiones permite ser rellenado (pero no guardado), solamente para luego ser impreso y entregado. En otras ocasiones, hay que imprimirlo y cubrirlo a mano, para luego entregarlo (más una copia que será sellada como prueba de la entrega en plazo) en la oficina correspondiente.
Por supuesto, para estar aun más en las tendencias actuales, lo mejor es pedir las cosas entre diferentes grupos, y mejor si estos grupos son, además, de diferentes nacionalidades. Eso supone un PDF que se imprime, se cubre y firma a mano, se escanea, se manda al segundo grupo, que imprime, se cubre por segunda vez, se firma, se escanea, se manda al tercer grupo etc... hasta la copia n del grupo n que en teoría es la última. Esta se escanea y se manda a todos los grupos desde i=1 a i=n y se llega a un acuerdo. Este documento n consensuado se imprime la vez n+1 (supuesto original) y n+2 (copia sellada justificativa) y se lleva a la oficina, registro, correos o lo que sea...
La copia n+2 se escanea y se manda a todos los grupos de i=1 a i=n, que lo suelen imprimir para guardarlo en el armario de justificaciones que no se vuelven a mirar nunca más. Al menos hemos impreso nx2+1 copias del documento, más borradores intermedios. Genial, todos contentos, y si encima nos lo conceden ...

Y eso es lo que hemos logrado con la aplicación de la tecnología. Un PDF, que se podría autentificar de forma electrónica sigue siendo un papel fotocopiado. Eso sí, puede viajar por todo el mundo en nanosegundos, y así puede ser impreso 2n veces en todo el mundo mundial, generando negocio para maderistas, papeleras, impresoras, fotocopiadoras, escáneres, tiendas, librerías y oficinas. ¡Viva la tecnología!

$ pkill -9 ironia.sarcasmo.sh

Realmente aun es peor. Debido a que, como usuario de software libre, dispongo de herramientas que me permiten manipular los PDFs sin tener que comprar acrobat, decidí no escribir a mano ni firmar a mano, así que introduje los textos y las imágenes de las firmas con xournal. Cuando estaba dispuesto a enviarlo me di cuenta de que ese PDF contenía imágenes de firmas que podían ser extraídas directamente con facilidad, así que lo imprimí una vez más, y lo escaneé para generar un PDF formado de una sola imagen. Una impresión más.






Como algunos no conocen la firma electrónica de los documentos, hasta tenemos que emborronar nuestro trabajo.



domingo, 3 de febrero de 2013

Manipulación de los documentos PDF en terminal

Como de costumbre un compañero me había enviado un documento para generar un PDF. Las fotocopiadoras de ahora nos generan un PDF en un momento, pero siempre hay que manipular los resultados. La que tenía disponible me generaba un PDF individual por cada página escaneada y las deja rotadas 90 grados a la izquierda. Tras la instalación de Fedora 18 algunas aplicaciones gráficas o daban algún error (pdfmod) o no estaban instaladas (pdf-shuffler). Por suerte, como ya he señalado en alguna entrada (1, 2), el terminal nos puede sacar del apuro. La aplicación pdftk nos permite manipular en línea de comandos -CLI- los ficheros PDF.
Lo más fácil en este caso es unir las diferentes páginas convertidas en PDFs individuales -8, en este cas0- y unirlas en un solo documento

$ pdftk 1.pdf 2.pdf 3.pdf 4.pdf 5.pdf 6.pdf 7.pdf 8.pdf cat output documento.pdf

luego rotar el documento completo (E representa East, que gira el documento 90 grados en sentido horario; S -South- lo gira 180 y W -West- 270. N, de North, no gira el documento)

pdftk documento.pdf cat -E output rotado.pdf


Los ejemplos del uso de pdftk los podéis observar en esta página, aunque par mi gusto son algo confusos. Es más fácil de entender algunos ejemplos de esta otra. Por supuesto, es más fácil con las aplicaciones gráficas, pero en algunas ocasiones pueden no responder, o algunos documentos generar problemas, o presentarse dependencias no resueltas u otro tipo de errores gráficos; en esos casos, estas aplicaciones CLI no suelen fallar y nos han salvado de algún apuro de última hora. ¿Qué hay mejor que un terminal? Pues dos, claro, o tres. De hecho en este momento tengo 4 en funcionamiento.

martes, 28 de agosto de 2012

Kindle 2: actualización

Este verano, durante las vacaciones (sí, esa es la razón del escaso numero de entradas; entrada, realmente) he utilizado el Kindle para llevar todo tipo de lectura, con lo que me he ahorrado un camión para llevar todos esos libros (en alguna entrada hablaremos de alguno). Sin embargo, he podido comparar mi Kindle 2 con un Kindle de los nuevos, en concreto con el modelo básico de 99€. La diferencia fundamental es -era- la diferente visión que tenía sobre los PDF. Todos los libros que convierto con calibre se leen perfectamente en mi Kindle, ya que calibre, partiendo del modelo de Kindle al que está transformando, ajusta el tamaño de letra y la estructura general para una fácil lectura. Sin embargo, la mayor parte del tiempo necesito mantener formatos PDF en libros científicos y estadísticos, ya que las fotos, esquemas y fórmulas matemáticas no se pueden transformas adecuadamente a mobi. Sinceramente ya pensaba comprarme un Kindle nuevo, pero he mirado las actualizaciones disponibles y resulta que el mío aun tenía la versión 2.5.3, siendo la más moderna la 2.5.8. Bajé el fichero de la página web de Amazon, y seguí las instrucciones de esa página para actualizar el software. El resultado se ajusta más a mis necesidades. Puedo rotar el libro y aumentar el tamaño, con lo que la letra, antes tan pequeña, ahora se puede leer mucho mejor. Además, da la sensación de que se ha ganado en nitidez. Para aquellas personas que estén en esta situación, que revisen su versión de software (Home, Menu, Settings). Por supuesto, mirar al final de todo que modelo tiene cada uno, en función de los 4 primeros caracteres del número de serie que aparece. Los 3G, como en mi caso,  aparecen como B003. Con esta actualización nuestro Kindle sigue manteniendo prestaciones, lo que me permitirá comprar una Nexus 7 cuando esté disponible. Si no se dan prisa en comercializarla en español, me tendré que comprar una Kindle Fire.
Este problema surge de que pensaba que las actualizaciones se hacían de forma automática por la máquina, como ya había sido al poco de haberla comprado; sin embargo, desde la versión 2.5.3 no se había actualizado hasta hoy.
último nota; para activar la rotación del fichero y cambiar el tamaño hay que pulsar la tecla Aa; tardé un par de minutos en descubrirlo. Se ve así (algo mejor; la tinta electrónica se ve muy bien para leer pero se enfoca muy mal)




jueves, 12 de julio de 2012

Impressive, o como mostrar una presentación desde el terminal

Gracias a UsemosLinux he descubierto una aplicación que permite visualizar nuestras presentaciones a través del terminal. Se llama impressive. Realmente la llamamos desde el terminal,

impressive fichero.pdf

pero el resultado es espectacularmente gráfico. Para aquellos usuarios que animen poco sus presentaciones realmente resulta una presentación muy bonita, con transiciones muy elegantes simplemente apareciendo cambios en las variaciones de las diapositivas. Para mi ha sido un gran descubrimiento, permitiendo presentar los pdfs resultantes de nuestras presentaciones con facilidad. La falta de acceso a los enlaces es el único defecto que se le puede achacar, ya que si la conferencia es activa, con conexiones a la red, no nos va a permitir manejarlas, o al menos yo aun no he visto la forma.


PD. Otro punto a su favor, nos permite mostrar imágenes desde el terminal. He probado con un directorio con gif, jpg y png y simplemente poniendo

impressive *.*

me las ha ido enseñando una tras otra,

Muy recomendable.

RECTIFICO: sí que da acceso a los enlaces; lo único que sucede es que no cambia la apariencia del puntero del ratón.

miércoles, 20 de junio de 2012

PDF en terminal - segunda parte

Otra ventaja del terminal. Muchas veces los problemas en la manipulación de los ficheros se deben a alteraciones gráficas, que las aplicaciones del terminal no "sufren". En concreto, la generación de documentos oficiales que realmente son sumatorio de muchos documentos escaneados hasta generar un pdf puede generar algunos "conflictos". Escanear un montón de documentos era bastante farragoso, pero no hoy, con las fotocopiadoras actuales, que escanean en serie una serie completa de hojas y las envía por correo electrónico. Dispongo en mi trabajo de una Xerox Workcentre 7530 que funciona de maravilla. Sin embargo, ayer tuve que generar los mismos documentos mediante una Panasonic DP-C266. En primer lugar no me los generó como documento único; segundo, dejó la mayor parte rotados. Mediante pdfshuffler, una herramienta gráfica de manejo de pdf (añadir, quitar, rotar y mover), los junté y los roté. Finalmente tenía que dividir ese total para generar un documento por persona por persona, pero a partir de la página 4 (la primera rotada), pdfshuffler se bloqueaba. Hice un segundo intento con pdfmod (similar, disponible para los escritorios gnome). Me quedaba, de entre las aplicaciones gráficas que conozco, pdfsam. Esta aplicación no está disponible en los repositorios que tengo abiertos en Fedora 17 y disponemos de otras posibilidades por terminal. Instalé el paquete pdftk y con el documento completo que había logrado inicialmente con pdfshuffler, simplemente hice

pdftk completo.pdf cat 1-3 output usuario1.pdf
pdftk completo.pdf cat 4-6 output usuario2.pdf ...

y listo. Se visualizaban perfectamente en los lectores de documentos en Linux (evince) y windows (Acrobat Reader) y nos sirvieron para enviar. Moraleja: cuando nos falla lo gráfico (lo fácil), siempre tenemos el terminal.

Como segundo consejo, cuando tengamos problemas para manejar nuestros PDFs, recomendable leer la salida del comando

pdftk --help # no olvidar el doble guión

que describe las posibilidades de manejo de un pdf a través de esta aplicación; inmensas y muy útiles. En su página web dan todas estas posibilidades (Merge, split, rotate, decrypt, encrypt, fill, apply a background watermark, report on PDF Metrics, update PDF Metadata, attach Files to PDF Document, unpack PDF Attachments, burst a PDF Document into Single Pages, uncompress and Re-Compress Page Streams, repair Corrupted PDF).

Por supuesto, el uso de pdfshuffler o pdfmod es más sencillo y vemos directamente el resultado, pero si por alguna razón no conocida no podemos utilizarlos, nos queda el terminal.

ACTUALIZACIÓN:
Enlace para la primera parte. Que conste que no lo añadí por que solo está dos entradas más atrás

viernes, 15 de junio de 2012

PDF en terminal

Cada día me gusta más el terminal. Estos días mis compañeros están generando una gran cantidad de documentación que ha de ser justificada a través de documentos electrónicos con formato PDF. En un momento determinado nos hemos encontrado con una gran cantidad de material escaneado con formato jpg. El cambio a PDF parecía que iba a ser largo y costoso en tiempo, pero en Linux todo es posible. Una simple orden en terminal

convert *.jpg documentacion.pdf

y todos los PDF estaban en un fichero PDF, página a página y perfectamente transformado, en unos 20 segundos. convert es un comando de imagemagick; si no estuviera disponible, simplemente instalar el paquete imagemagick.
Además, por la tarde surgió la necesidad de extraer unas imágenes desde un PDF. En mis apuntes encontré la orden pdfimages; una simple orden

pdfimages -j fichero.pdf nombre

y todas las imágenes del pdf salen en orden, numeradas como nombre-1.jpg, nombre-2.jpg ... La opción -j es la que permite que salgan como jpg, ya que si no saldrían con formato ppm. pdfimages forma parte del paquete poppler-utils. Ambos paquetes suelen estar instalados en la mayor parte de las distribuciones, pero si no es así, es un simple

Los debianos (multitud de ubunteros incluidos),
sudo apt-get install imagemagick poppler-utils

Los de Fedora
yum install imagemagick poppler-utils

y otras muchas posibilidades, incluso gráficas. Recomendable la lectura de los manuales de los comandos, ya que las posibilidades, sobre todo de convert, son casi infinitas.

martes, 22 de junio de 2010

Documentos PDB; un formato más

Tenía la necesidad de un documento en particular, y buscando en la red encontré varios ficheros de diferentes tamaños, pero ninguno era exactamente el que quería. Finalmente encontré uno con formato PDB que según la descripción era exactamente el que quería, pero no era capaz de abrirlo o leerlo. En diferentes blogs encontré diferentes recomendaciones y las fui intentando una a una, de más a menos cómoda. El primer intento fue con ABIWORD; en teoría debería ser posible, según diferentes usuarios, pero al menos a mi no me funcionó; el segundo intento fue con calibre y luego fbreader –(recomendado en particular por algunos para este tipo de ficheros Palm, pero tampoco funcionaron. Finalmente recurrí a la penúltima opción (la última sería recurrir a la máquina virtual con Windows) instalando iSilo (versión Windows, que para Linux no hay) a través de WINE. Con el fui capaz de estraer un fichero txt completo y poder introducirlo en AbiWord (Writer me generaba algunos caracteres extraños) y poder exportarlo a PDF, que luego convertiré a MOBI con Calibre para poder usarlo en el Kindle. Llevó un cierto tiempo, por que el documento terminó teniendo más de 1400 páginas, pero ya lo tengo preparado. De todas formas, cuanta complicación para obtener un texto, cuantos formatos de más hay, y total, para nada. ¿Realmente es necesario tanto formato propietario? Cuantas ganas de fastidiar a los usuarios de electrónica.

jueves, 26 de noviembre de 2009

Actualización 2.3 del Kindle

Ayer, mientras estaba trasteando en la lista de Amazon recibí un correo diciendo que ya estaba la actualización del lector Kindle diciendo que ya sería capaz de utilizar directamente los PDFs. Lo actualicé y sí, era cierto que puede, pero mejor darles primero un formato adecuado al tamaño de la pantalla del aparatito. Es decir, algunos PDFs que tenía quedaban con letras muy pequeñas para miopes como yo. O sea que la idea está bien, pero recomiendo preparar los PDFs con un tamaño y formato adecuado. A lo mejor con Calibre, con el que los Mobi quedán exactos se puede lograr. Por lo demás, cada día me gusta más.

lunes, 26 de octubre de 2009

Lectores de libros electrónicos

Este domingo leí la noticia de que Amazon vendía en Europa su famoso Kindle. Nunca había estado interesado en estos aparatos, pero al ver la apariencia, delgadito, de tamaño adecuado para leer, nueva tecnología que en teoría no molesta a los lectores, batería de larga duración (14 días), carga sin coste de red (paga Amazon por ti sacandolo de lo que te cobra por el PDF) a través de 3G (también adecuado para Europa), de repente me empezaron a entrar las ganas de comprarlo. Como es natural, antes de comprar, suelo revisar la letra pequeña, algo así como solo puedo leer los libros de Amazon, si cargas otros ficheros, tienes que enviar un correo electrónico para que funcionen en el Kindle, no se puede bajar de otras librerias gratuitas que existen en la red. Es decir, un aparato muy "propietario" para mi gusto. Revisando entre los aparatitos en la red encontré el Nook de Barnes & Noble's. Este segundo lector me parece mucho más adecuado; en primer lugar permite el uso de otras librerías de libros gratuitos, permite que "prestes" a tus amigos tus libros durante 14 días, parece (eso tengo que comprobarlo) permitir el uso de tus propios ficheros y poder utilizarlos en el Nook, la batería dura menos, pero es intercambiable, no como en el Kindle (conviene no olvidar que las baterias no son eternas; 2 o 3 añitos y se acabó, aunque de todas maneras yo ya cambié antes la cámara digital), conexión 3G y Wireless... Problema, solo se vende en los USA. En resumen, quiero uno de esos aparatitos, pero que sean mucho más libres. Desde mi punto de vista es muy importante que pueda mirar mis trabajos cuando me voy por ahí (es decir, que me dejen poner mis propios ficheros), o poder leer PDFs de todo tipo, artículos de revistas científicas etc... Como es natural, sé que eso no va a ser así, por que entonces la gente pirateará también los libros, como hace con la música y las películas. Esa, y no otra, es la razón por la que las grandes editoriales no han abordado por ahora la venta de estos aparatitos. Todo el mundo puede bajar de la red centenares de miles de libros en formatos varios; si luego nos dan una máquina que nos permita leerlos cómodamente, también dejarán de vender libros, último recurso que queda a alguna empresa. Cuando encuentre uno que cumpla esa característica básica, me lo compro; mientras tanto, esperaré. ¿Por qué? Muy claro; en mi juventud yo era un lector compulsivo; leía cualquier cosa y en cualquier circunstancia, acostado, sentado, comiendo, caminando, día y noche... y desde mi caída en el ordenador, en mis manos han estado o han podido estar decenas de miles de libros en PDF, pero jamás me ha dado por leer en el ordenador ni en fotocopias. La literatura es un arte superior que no puede ser corrompido por material de baja calidad, pero al mismo tiempo soy un esclavo último modelo de la tecnología. Aquí empieza un juego entre las costumbres antiguas (lectura en libros encuadernados lujosamente, papel Guarro Casas ahuesado, cubiertas de cuero, portadas doradas, ediciones especiales (todo eso solo unos cuantos, que sale caro) o la nueva tecnología, que viene saliendo a 259$.

PD. Pero que nadie se equivoque. Cuando era "joven", compraba libros de los baratos, por ejemplo 150 de las antiguas pesetas. La edición que fuera con tal de leer, así que no creo que le diga que no a un hardware así. Otra cosa es leer La Ilíada en el monitor, que ya es caer muy bajo. Sin embargo uso frecuentemente las versiones on-line de la Biblia para hacer citas, por que copiar y pegar se hace más fácilmente en el monitor; leer, eso sí, suelo hacerlo en papel.