Manipulación de PDFs e imagenes en linea de comandos
Crear un jpg con la primera pagina:
gs -q -sDEVICE=jpeg -dBATCH -dNOPAUSE -dFirstPage=1 -dLastPage=1 -r300 -sOutputFile=test.jpg test.pdf
Extraer una imagen, de la primera pagina, (por ejemplo la portada):
pdfimages -f 1 -l 1 -j fichero.pdf pgs
Comandos utiles cuando la idea es procesar un PDF que contiene un libro escaneado, es decir un PDF que en realidad es una colección de imágenes.
Extraer todas las imágenes que contenga el PDF:
pdfimages -j fichero.pdf pgs
Cortar las imágenes por la mitad (por si están escaneadas dos paginas en la misma imagen), supongamos que la imagen es de 1200x500:
for f in pgs-???.ppm ; do convert $f -crop 600x500! $f.%d.ppm; done
Quitar los bordes blancos:
convert a.jpg +repage -fuzz "XX%" -trim a-trim.jpg for f in pgs-???.pbm.[01].jpg ; do convert $f +repage -fuzz "99%" -trim $f.trim.jpg; done
Recrear el PDF a partir de las imágenes nuevas:
convert pgs-???.ppm.?.ppm fichero.pdf
Crear un PDF a partir de imágenes (en el orden en el que las mostraria un Plantilla:Ls)
convert * fichero.pdf
Crear un PDF a partir de imágenes convirtiendo el tamaño (como mucho de X de alto o de Y de ancho, respetando el aspecto)
convert * -resize XxY fichero.pdf
Ponerle metadata (XMP) para que el e-reader lo muestre:
pdftk f1.pdf dump_data output metadata.txt
Editar metadata.txt a gusto del consumidor (se pueden añadir campos nuevos.
pdftk f1.pdf update_info metadata.txt output f2.pdf
Un método mejor que no requiere archivo intermedio y edición manual:
exiftool -Title="This is my title" -Author="Cobarde Anonimo" my.pdf