Manipulación de PDFs e imagenes en linea de comandos

De Recursos Educativos
Ir a la navegación Ir a la búsqueda

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

Secuencia de comandos para procesar un libro que estaba escaneado (una imagen por página) pero con 2 paginas reales por imagen y muchos bordes blancos. Como hacer un PDF mejor:

# Extraer todas las imágenes
pdfimages -j fichero.pdf pgs
# Cortar las imágenes por la mitad, 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
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 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