Ha veces necesitamos editar de una forma fácil un pdf o solo queremos quedarnos con unas cuantas páginas de las 1000 que tiene.
Con un simple comando en consola podemos hacer todo eso.
Primero debemos convertir el pdf en jpg para poder eliminar o editar las páginas.
1 | convert -density 100 fichero_pdf_original.pdf out-.jpg |
Esto nos creará un jpg por cada página del pdf en el formato: out-(numero de página).jpg
Una vez tenemos los cambios hechos, procedemos a volver a construir el pdf.
1 | convert *.jpg fichero_pdf_destino.pdf |
Con esto ya volverÃamos a tener el pdf con los cambios que hayamos hecho.
Antes de nada, avisaros de que las páginas pueden quedar desordenadas (primero las que empiezan por 1: 1,10,100…. depende del sistema operativo, puedes probarlo haciendo un ls y viendo como ordena los archivos). Para evitar esto, podemos utilizar esta secuencia para poder ordenarlos a nuestro gusto.
1 2 | $LISTA=`ls *.jpg | sort -t '-' -k 2n` convert $LISTA fichero_pdf_destino.pdf |
Esto lo que hace es construir primero la lista de archivos en una variable con el orden que nos interesa para después utilizarla al convertir a pdf.
opción -t: especificamos el delimitador para partir el nombre por donde queremos ordenar.
opción -k: nº de columna que queremos utilizar para ordenar.
Hay más parámetros que se pueden utilizar con el comando convert, los más interesante para este caso son:
-quality 80 : Exporta las imágenes a un 80% de la calidad original.
-density 200: Resolución DPI a utilizar en las imágenes.
Espero que os sea útil, ya que me costó un buen rato dar con la solución.