Manipulación de PDFs e imagenes en linea de comandos

De Recursos Educativos
Revisión del 20:37 1 abr 2018 de Lantolin (discusión | contribs.) (Página creada con «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 prime...»)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
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

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