Manipulación de PDFs e imagenes en linea de comandos
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 partiendo de un libro que estaba escaneado, con una imagen por página, pero con 2 paginas reales por imagen y muchos bordes blancos, hacer un PDF mejor, con una página real por pagina PDF y sin bordes blancos:
# Extraer todas las imágenes pdfimages -j fichero.pdf pgs
# rotarlas 90 a la izq for f in ???.jpg ; do echo "$f" ; convert "$f" -rotate 270 "${f%.jpg}_r.jpg" ; done
# 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.%.ppm}.%d.ppm"; done
# Cortarlas en 2 veces for f in ???_r.jpg ; do echo $f ; convert "$f" -crop 1330x2340+0+200\! "${f%.jpg}_r_c1.jpg"; convert "$f" -crop 1330x2340+1330+200\! "${f%.jpg}_r_c2.jpg" ; 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:
# extraer metadata a fichero 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